MCPcopy
hub / github.com/ChineseSubFinder/ChineseSubFinder / NewHttpClient

Function NewHttpClient

pkg/util.go:40–83  ·  view source on GitHub ↗

NewHttpClient 新建一个 resty 的对象

(referer ...string)

Source from the content-addressed store, hash-verified

38
39// NewHttpClient 新建一个 resty 的对象
40func 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
85func getPublicIP(inputSite string) string {
86

Callers 15

getSubInfosMethod · 0.92
CheckAliveMethod · 0.92
getSubListFromFileMethod · 0.92
CheckAliveMethod · 0.92
listPageItemsMethod · 0.92
downloadSubMethod · 0.92
getSubInfosMethod · 0.92
getSubByKeyWordMethod · 0.92
getSubDetailMethod · 0.92
getUserInfoMethod · 0.92
setClientConfigMethod · 0.92
CheckAliveMethod · 0.92

Calls 1

GetProxyUrlFunction · 0.92

Tested by

no test coverage detected