0

在 GoQuery 中,如果我创建如下代码段:

    doc, err := goquery.NewDocument(s)
    if err != nil {
        log.Fatal(err)
    }                 

其中 s 是一个有效的 url,我可以看到错误字符串,但是如果页面返回 403,我如何找出并停止而不是让我的代码运行?

有没有办法使用 Goquery 找到 http 响应?

4

1 回答 1

1

我认为这不会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)
    }
    // ...
}
于 2016-10-03T05:11:14.423 回答