Heim >Backend-Entwicklung >Golang >Wie kann Gos CookieJar verwendet werden, um Weiterleitungen zu folgen und gleichzeitig Cookies beizubehalten?
Nutzung der Cookiejar von Go, um Weiterleitungen mit Cookies zu folgen
Wenn eine HTTP-Anfrage zu einer 302-Weiterleitung führt, ist es wichtig, die von der erhaltenen Cookies beizubehalten Server für die nachfolgende Anfrage. In Go kann dies durch das Cookiejar-Paket erreicht werden, das eine bequeme Möglichkeit bietet, Weiterleitungen automatisch zu folgen und gleichzeitig Cookies beizubehalten.
In diesem Szenario besteht das Ziel darin, das Verhalten von CURL mit den folgenden Einstellungen zu emulieren:
Implementierung mit cookiejar
Mit Go 1.1 steht das Paket net/http/cookiejar zur Verfügung, um diese Aufgaben nahtlos zu erledigen. Hier ist ein Codebeispiel, das seine Verwendung demonstriert:
<code class="go">package main import ( "golang.org/x/net/publicsuffix" "io/ioutil" "log" "net/http" "net/http/cookiejar" ) func main() { // Configure the cookie jar. options := cookiejar.Options{ PublicSuffixList: publicsuffix.List, } jar, err := cookiejar.New(&options) if err != nil { log.Fatal(err) } // Create an HTTP client with the cookie jar. client := http.Client{Jar: jar} // Make the request. resp, err := client.Get("http://dubbelboer.com/302cookie.php") if err != nil { log.Fatal(err) } // Read the response body. data, err := ioutil.ReadAll(resp.Body) resp.Body.Close() if err != nil { log.Fatal(err) } // Log the response. log.Println(string(data)) }</code>
In diesem Beispiel ist die Cookie-Jar so konfiguriert, dass sie der öffentlichen Suffixliste folgt und so eine ordnungsgemäße domänenbasierte Cookie-Verarbeitung gewährleistet. Der Client wird mit dem JAR erstellt und eine GET-Anfrage an die angegebene URL gestellt. Der Antworttext wird gelesen und protokolliert, was zeigt, dass das Cookie-Glas die Umleitung effektiv verarbeitet und das Cookie behält.
Das obige ist der detaillierte Inhalt vonWie kann Gos CookieJar verwendet werden, um Weiterleitungen zu folgen und gleichzeitig Cookies beizubehalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!