NewHttpClient 新建一个 resty 的对象
(referer ...string)
| 38 | |
| 39 | // NewHttpClient 新建一个 resty 的对象 |
| 40 | func NewHttpClient(referer ...string) (*resty.Client, error) { |
| 41 | //const defUserAgent = "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50" |
| 42 | //const defUserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36 Edg/91.0.864.41" |
| 43 | |
| 44 | var UserAgent, Referer string |
| 45 | // ------------------------------------------------ |
| 46 | // 随机的 Browser |
| 47 | UserAgent = browser.Random() |
| 48 | // ------------------------------------------------ |
| 49 | httpClient := resty.New().SetTransport(&http.Transport{ |
| 50 | DisableKeepAlives: true, |
| 51 | MaxIdleConns: 1000, |
| 52 | MaxIdleConnsPerHost: 1000, |
| 53 | }) |
| 54 | httpClient.SetTimeout(common.HTMLTimeOut) |
| 55 | httpClient.SetRetryCount(1) |
| 56 | // ------------------------------------------------ |
| 57 | // 设置 Referer |
| 58 | if len(referer) > 0 { |
| 59 | Referer = referer[0] |
| 60 | if len(Referer) > 0 { |
| 61 | httpClient.SetHeader("Referer", Referer) |
| 62 | } |
| 63 | } |
| 64 | // ------------------------------------------------ |
| 65 | // 设置 Header |
| 66 | httpClient.SetHeaders(map[string]string{ |
| 67 | "Content-Type": "application/json", |
| 68 | "User-Agent": UserAgent, |
| 69 | }) |
| 70 | // ------------------------------------------------ |
| 71 | // 不要求安全链接 |
| 72 | httpClient.SetTLSClientConfig(&tls.Config{InsecureSkipVerify: true}) |
| 73 | // ------------------------------------------------ |
| 74 | // http 代理 |
| 75 | HttpProxyAddress := local_http_proxy_server.GetProxyUrl() |
| 76 | if HttpProxyAddress != "" { |
| 77 | httpClient.SetProxy(HttpProxyAddress) |
| 78 | } else { |
| 79 | httpClient.RemoveProxy() |
| 80 | } |
| 81 | |
| 82 | return httpClient, nil |
| 83 | } |
| 84 | |
| 85 | func getPublicIP(inputSite string) string { |
| 86 |
no test coverage detected