2016-10-03 3 views
0

In GoQuery, wenn ich einen Ausschnitt wie folgt erstellen:GoQuery Response Code

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

wo s eine gültige URL ist, dass ich den Fehler-String sehen kann, aber wenn die Seite einen 403 zurückkehrt, wie ich tun finde und höre auf, anstatt meinen Code laufen zu lassen?

Gibt es eine Möglichkeit, die HTTP-Antwort mit Goquery zu finden?

Antwort

1

Ich glaube nicht, dass NewDocument gibt Ihnen die Möglichkeit, auf der Grundlage eines Statuscode zu bailen, aber Sie können stattdessen NewDocumentFromResponse verwenden. Zum Beispiel:

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

Funktioniert, danke. – tvishwa107

Verwandte Themen