In Go kann die Verwaltung von Cookies für HTTP-Anfragen mithilfe des in Go 1.1 eingeführten Cookiejar-Pakets erreicht werden. Indem Sie ein CookieJar erstellen und es einem HTTP-Client zuordnen, können Cookies automatisch gespeichert und für nachfolgende Anfragen abgerufen werden.
Hier ist ein Beispiel dafür, wie Sie sich bei einer Website anmelden und speichern Cookies und greifen Sie mithilfe der gespeicherten Cookies auf eine andere Seite zu:
package main import ( "fmt" "net/http" "net/http/cookiejar" "net/url" ) func main() { // Create a new cookie jar. jar, err := cookiejar.New(nil) if err != nil { panic(err) } // Create an HTTP client that uses the cookie jar. client := &http.Client{ Jar: jar, } // Login to the website. loginPostUrl := "http://www.example.com/login" values := url.Values{} values.Set("username", "my_username") values.Set("password", "my_password") resp, err := client.PostForm(loginPostUrl, values) if err != nil { panic(err) } defer resp.Body.Close() // View the user's bill. viewBillUrl := "http://www.example.com/my/bill" resp, err = client.Get(viewBillUrl) if err != nil { panic(err) } defer resp.Body.Close() // Read the bill's contents. billContents, err := resp.Body.ReadString('\n') if err != nil { panic(err) } fmt.Println(billContents) }
In diesem Beispiel wird CookieJar verwendet, um die von der Anmeldung zurückgegebenen Cookies automatisch zu speichern Anfrage. Diese Cookies werden dann verwendet, um die nachfolgende Anfrage an die Seite „/my/bill“ zu autorisieren.
Das obige ist der detaillierte Inhalt vonWie gehe ich mit HTTP-POST-Anfragen mit Cookies in Go um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!