Maison > développement back-end > Golang > Comment gérer les requêtes HTTP POST avec des cookies dans Go ?

Comment gérer les requêtes HTTP POST avec des cookies dans Go ?

Patricia Arquette
Libérer: 2024-12-27 22:01:11
original
243 Les gens l'ont consulté

How to Handle HTTP POST Requests with Cookies in Go?

Go : publication HTTP avec cookies

Dans Go, la gestion des cookies pour les requêtes HTTP peut être réalisée à l'aide du package cookiejar introduit dans Go 1.1. En créant un CookieJar et en l'associant à un client HTTP, les cookies peuvent être automatiquement stockés et récupérés pour les requêtes ultérieures.

Exemple de code

Voici un exemple de la façon de se connecter à un site Web, de stocker le cookies, et accédez à une autre page en utilisant les cookies stockés :

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)
}
Copier après la connexion

Dans cet exemple, le CookieJar est utilisé pour stocker automatiquement les cookies renvoyés par la demande de connexion. Ces cookies sont ensuite utilisés pour autoriser la demande ultérieure sur la page /ma/facture.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal