在GoQuery中,如果我创建如下代码片段:
doc, err := goquery.NewDocument(s)
if err != nil {
log.Fatal(err)
}
其中s是一个有效的url,我可以看到错误字符串,但如果页面返回403,我如何发现并停止,而不是让我的代码运行?
是否有办法找到使用Goquery的http响应?
我不认为NewDocument
给了您基于状态码保释的机会,但是您可以使用NewDocumentFromResponse
代替。例如:
res, err := http.Get(url)
if err != nil {
log.Fatal(err)
}
// Check for a 200 status (or a non-403, or whatever you want)
if res.StatusCode == 200 {
doc, err := goquery.NewDocumentFromResponse(res)
if err != nil {
log.Fatal(err)
}
// ...
}