- get
package main
import "net/http"
import "io/ioutil"
func Get(url string, headers map[string]string) (string, error) {
client := &http.Client{}
request,_ := http.NewRequest("GET", url, nil)
for key,value := range headers {
if key == "Host" {
request.Host = value
} else {
request.Header.Add(key, value)
}
}
response,err := client.Do(request)
if err != nil {
return "",err
}
body,err := ioutil.ReadAll(response.Body)
if err != nil {
return "",err
}
return string(body),nil
}
- headers
gzip内部会重置 c.Writer() 导致header失效,请勿添加
haeder里添加Host会无效,需要req.Host="xxx.xxx"
client := &http.Client{}
req,_ := http.NewRequest("GET", "http://example.org", nil)
// req.Header.Add("Accept-Encoding", "gzip")
req.Header.Add("Host", "ib-lq.snssdk.com")
req.Header.Add("Connection", "Keep-Alive")
req.Header.Add("User-Agent", "okhttp/3.10.0.1")
req.Host = "ib-lq.snssdk.com"
resp,err := client.Do(req)
...
url编码解码
import "net/url"
//编码
url.QueryEscape("http://baidu.com")
//解码
url.QueryUnescape("http://baidu.com")