2016-10-03 75 views
0

在GoQuery,如果我创建一个片段如下:GoQuery响应代码

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

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

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

回答

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) 
    } 
    // ... 
} 
+0

作品,谢谢。 – tvishwa107