Heim  >  Artikel  >  Backend-Entwicklung  >  So fordern Sie Cookies in Golang an

So fordern Sie Cookies in Golang an

PHPz
PHPzOriginal
2023-04-10 14:17:491191Durchsuche

Golang fordert Cookies an

Als Programmierer beziehen wir häufig Netzwerkanforderungen ein. Bei der Implementierung von Netzwerkanforderungsfunktionen müssen wir häufig Cookies verwenden. Wie kann man also in Golang Cookies anfordern? Als Nächstes wird in diesem Artikel erläutert, wie Sie Cookies in Golang anfordern.

Zuerst müssen wir verstehen, was Cookies sind. Cookie ist eine Datenübertragungsmethode im HTTP-Protokoll, mit der Statusinformationen des Clients gespeichert werden. Es kann die Anmeldeinformationen, den Browserverlauf, den Warenkorb und andere Informationen des Benutzers aufzeichnen und so die Verfolgung und Verwaltung von Benutzerinformationen realisieren.

In Golang ist das Anfordern von Cookies in zwei Teile unterteilt: das Setzen von Cookies und das Erhalten von Cookies.

Cookie festlegen:

In der Golang-Anfrage können Sie Cookies festlegen, indem Sie den Header festlegen. Auf einigen Websites, die eine Anmeldung erfordern, ist es erforderlich, Cookies im Anforderungsheader zu enthalten, um illegal Daten abzurufen.

Beispielcode:

func setCookie() {
    url := "https://www.example.com/login"
    req, err := http.NewRequest("POST", url, strings.NewReader(`{"foo":"bar"}`))
    if err != nil {
        log.Fatalln(err)
    }
    req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
    //设置Cookie
    req.AddCookie(&http.Cookie{Name: "user", Value: "123"})
    cli := http.Client{}
    resp, err := cli.Do(req)
    if err != nil {
        log.Fatalln(err)
    }
    defer resp.Body.Close()
    fmt.Println(resp.StatusCode)
}

Im Beispiel erstellen wir zunächst den Anforderungstext einer Post-Anfrage, legen den Content-Type im Anforderungsheader fest und legen dann einen Benutzer namens user mit dem Wert über req.AddCookie() fest. Methode. 123 Cookies.

Cookie abrufen:

In der Golang-Anfrage können Sie Cookie über das Request-Objekt abrufen. Bei der Durchführung einiger Geschäftslogikoperationen müssen wir Cookies aus dem Linkanforderungsheader abrufen, um einige Website-Informationen zu erhalten.

Beispielcode:

func getCookie() {
    url := "https://www.example.com/home"
    req, err := http.NewRequest("GET", url, nil)
    if err != nil {
        log.Fatalln(err)
    }
    cli := http.Client{}
    resp, err := cli.Do(req)
    if err != nil {
        log.Fatalln(err)
    }
    defer resp.Body.Close()
    cookies := resp.Cookies()
    for _, c := range cookies {
        fmt.Printf("cookieName=%s; cookieValue=%s\n", c.Name, c.Value)
    }
}

Im Beispiel erstellen wir zunächst den Anforderungstext einer GET-Anfrage, rufen dann die Cookies im Antworttext ab, indem wir die Methode resp.Cookies() aufrufen, und geben schließlich die erhaltenen Cookies an die Konsole aus .

Zusammenfassung:

Anhand des obigen Beispielcodes können wir sehen, dass das Anfordern von Cookies in Golang sehr einfach ist. Durch Festlegen des Request-Objekts oder Erstellen des Request-Headers können wir Cookies setzen und abrufen. In der tatsächlichen Entwicklung können wir aus diesen Techniken lernen, komplexere Geschäftslogikoperationen zu implementieren.

Das obige ist der detaillierte Inhalt vonSo fordern Sie Cookies in Golang an. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn