a / httpclient /resty /resty_client.go
yetey's picture
Upload 45 files
5757554 verified
package resty
import (
"aurora/util"
"crypto/tls"
browser "github.com/EDDYCJY/fake-useragent"
"github.com/go-resty/resty/v2"
"net/http"
"time"
)
type RestyClient struct {
Client *resty.Client
}
func NewStdClient() *RestyClient {
client := &RestyClient{
Client: resty.NewWithClient(&http.Client{
Transport: &http.Transport{
// 禁用长连接
DisableKeepAlives: true,
// 配置TLS设置,跳过证书验证
TLSClientConfig: &tls.Config{
InsecureSkipVerify: true,
},
},
}),
}
client.Client.SetBaseURL("https://chat.openai.com")
client.Client.SetRetryCount(3)
client.Client.SetRetryWaitTime(5 * time.Second)
client.Client.SetRetryMaxWaitTime(20 * time.Second)
client.Client.SetTimeout(600 * time.Second)
client.Client.SetHeader("user-agent", browser.Random()).
SetHeader("accept", "*/*").
SetHeader("accept-language", "en-US,en;q=0.9").
SetHeader("cache-control", "no-cache").
SetHeader("content-type", "application/json").
SetHeader("oai-language", util.RandomLanguage()).
SetHeader("pragma", "no-cache").
SetHeader("sec-ch-ua", `"Google Chrome";v="123", "Not:A-Brand";v="8", "Chromium";v="123"`).
SetHeader("sec-ch-ua-mobile", "?0").
SetHeader("sec-ch-ua-platform", "Windows").
SetHeader("sec-fetch-dest", "empty").
SetHeader("sec-fetch-mode", "cors").
SetHeader("sec-fetch-site", "same-origin")
return client
}
//func (c *RestyClient) Request(method string, url string, headers map[string]string, cookies []*http.Cookie, body io.Reader) (*http.Response, error) {
//}
//func (c *RestyClient) Post(url string, headers map[string]string, cookies []*http.Cookie, body io.Reader) (*http.Response, error) {
//}
//
//func (c *RestyClient) Get(url string, headers map[string]string, cookies []*http.Cookie, body io.Reader) (*http.Response, error) {
//}
//
//func (c *RestyClient) Head(url string, headers map[string]string, cookies []*http.Cookie, body io.Reader) (*http.Response, error) {
//}
//
//func (c *RestyClient) Options(url string, headers map[string]string, cookies []*http.Cookie, body io.Reader) (*http.Response, error) {
//}
//
//func (c *RestyClient) Put(url string, headers map[string]string, cookies []*http.Cookie, body io.Reader) (*http.Response, error) {
//}
//
//func (c *RestyClient) Delete(url string, headers map[string]string, cookies []*http.Cookie, body io.Reader) (*http.Response, error) {
//}
//
//func (c *RestyClient) SetProxy(url string) error {}