您的位置:首页 > 产品设计 > UI/UE

goquery 添加header 发起请求

2015-07-13 10:37 423 查看

goquery 添加header 发起请求

我们知道使用net/http 很容易发起GET or POST 请求;并且在发起http请求时候,可以很容易的对header进行干预

例如:

client := &http.client{}

request, err := http.NewRequest("GET","http://example.com",nil)
//...

request.Header.Add("Referer", "http://www.abc.com")
//...
//这样就可以自定义或者修改http的header了,这么做的目的当然是进行一个欺骗http服务器的行为,至于为什么这么做,哦,你懂得...
response, err := client.Do(request)
defer response.Body.Close()

那么如果使用goquery 解析页面的时候,如何添加header呢?

使用goquery.NewDocumentFromResponse(response) 进行处理就ok了

doc, err := goquery.NewDocumentFromResponse(response)
if err != nil {
log.Fatal(err)
}
doc.Find("#7d li")
//...

完整的代码,如下

client := &http.client{}

request, err := http.NewRequest("GET","http://example.com",nil)
//...

request.Header.Add("Referer", "http://www.abc.com")
//...
//这样就可以自定义或者修改http的header了,这么做的目的当然是进行一个欺骗http服务器的行为,至于为什么这么做,哦,你懂得...
response, err := client.Do(request)
defer response.Body.Close()

doc, err := goquery.NewDocumentFromResponse(response) if err != nil { log.Fatal(err) } doc.Find("#7d li") //...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: