其他分享
首页 > 其他分享> > 【Go语言实战】Go语言写爬虫:状态码返回418

【Go语言实战】Go语言写爬虫:状态码返回418

作者:互联网

Go语言爬虫:状态码返回418

问题描述:

使用Go语言写爬虫项目的时候,使用http.Get(url)去抓取网页内容,但是状态码返回418,Body为空。
状态码返回418

问题分析:

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