【Go语言实战】Go语言写爬虫:状态码返回418
作者:互联网
Go语言爬虫:状态码返回418
问题描述:
使用Go语言写爬虫项目的时候,使用http.Get(url)
去抓取网页内容,但是状态码返回418
,Body为空。
问题分析:
http.Get(url)
是不需要设置header属性的http请求,比较简单快捷,但状态码返回418,表明需要设置其header属性,那么可以使用http.NewRequest
,在设置其header属性即可。
代码:
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
client := &http.Client{}
url := "https://book.douban.com/"
reqest, err := http.NewRequest("GET", url, nil)
// 设置header属性
reqest.Header.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36 Edg/90.0.818.62")
if err != nil {
panic(err)
}
resp, _ := client.Do(reqest)
defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
fmt.Printf("Error status code: %d", resp.StatusCode)
}
result, err := ioutil.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Printf("%s", result)
}
结果展示:
参考链接:https://blog.csdn.net/liu19721018/article/details/113099234
标签:http,语言,err,resp,header,Go,418 来源: https://blog.csdn.net/ARPOSPF/article/details/117232706