Код ответа GoQuery
В GoQuery, если я создаю фрагмент следующим образом:
doc, err := goquery.NewDocument(s)
if err != nil {
log.Fatal(err)
}
где s - действительный URL, я вижу строку ошибки, но если страница возвращает 403, как мне найти и остановить вместо того, чтобы позволить моему коду работать?
Есть ли способ найти HTTP-ответ с помощью Goquery?
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)
}
// ...
}