Go语言:HTTP客户端请求设置用户浏览器版本User-Agent
生活随笔
收集整理的這篇文章主要介紹了
Go语言:HTTP客户端请求设置用户浏览器版本User-Agent
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
http.Client默認的User-Agent是“Go-http-client/1.1”,在做頁面抓取的時候容易被服務端拒絕,需要在請求前重新設置一個模擬的User-Agent。具體代碼如下:
package mainimport ("fmt""io/ioutil""net/http""time" )func main() {client := &http.Client{Timeout: 2 * time.Second,}req, _ := http.NewRequest("GET", "http://127.0.0.1:8080", nil)req.Header.Set("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36")resp, err := client.Do(req)if err != nil {fmt.Printf("%s\n", err.Error())return}defer resp.Body.Close()body, err := ioutil.ReadAll(resp.Body)if err != nil {fmt.Printf("%s\n", err.Error())return}fmt.Printf("%s\n", string(body)) }服務端驗證代碼:
package mainimport ("fmt""io""log""net/http" )func main() {// Hello world, the web serverhelloHandler := func(w http.ResponseWriter, r *http.Request) {fmt.Printf("%v\n", r.UserAgent())io.WriteString(w, "Hello, world!\n")}http.HandleFunc("/", helloHandler)log.Fatal(http.ListenAndServe(":8080", nil)) }請求后,服務端輸出:
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36?
總結
以上是生活随笔為你收集整理的Go语言:HTTP客户端请求设置用户浏览器版本User-Agent的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 虚幻引擎UWorld::Tick反汇编代
- 下一篇: Dubbo——服务暴露的实现原理