Bei der Verarbeitung von HTTP-Anfragen stößt man häufig auf Weiterleitungen, die Cookies enthalten. Dies stellt bei der Verwendung von Golang eine Herausforderung dar, da das Standardverhalten darin besteht, Cookies während Weiterleitungen zu löschen. Um dies zu umgehen, können Sie das in Go 1.1 eingeführte Paket net/http/cookiejar verwenden.
Mit dem Paket cookiejar können Sie einen Client so konfigurieren, dass er Weiterleitungen automatisch folgt und gleichzeitig die empfangenen Cookies behält. Um dies zu erreichen:
Hier ist ein anschauliches Beispiel:
<code class="go">package main import ( "golang.org/x/net/publicsuffix" "io/ioutil" "log" "net/http" "net/http/cookiejar" ) func main() { options := cookiejar.Options{ PublicSuffixList: publicsuffix.List, } jar, err := cookiejar.New(&options) if err != nil { log.Fatal(err) } client := http.Client{Jar: jar} resp, err := client.Get("http://dubbelboer.com/302cookie.php") if err != nil { log.Fatal(err) } data, err := ioutil.ReadAll(resp.Body) resp.Body.Close() if err != nil { log.Fatal(err) } log.Println(string(data)) }</code>
Mit diesem Ansatz folgt Ihr Go-Client automatisch Weiterleitungen und verwaltet die empfangenen Cookies, ähnlich dem Verhalten in cURL beim Festlegen von COOKIEFILE, AUTOREFERER und FOLLOWLOCATION.
Das obige ist der detaillierte Inhalt vonWie verfolge ich Weiterleitungen mit Cookies in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!