Код ответа 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)
    }
    // ...
}
Другие вопросы по тегам