Je souhaite que mon application Go s'authentifie auprès d'un site Web, puis utilise le cookie reçu pour accéder à des emplacements sécurisés. Les exemples de boucles suivants illustrent exactement ce que j'essaie de faire:Réception et envoi de cookies avec le client Go?
Authentifier avec le site Web via x-www-form-urlencoded
et enregistrer le cookie. Les données sont automatiquement urlencoded:
curl 'https://www.example.com/login' \
--cookie-jar cookies.txt \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data 'user=USER NAME&pass=PASS'
maintenant l'authentification des cookies est enregistré dans cookies.txt
et j'envoyer tout simplement que, pour accéder à une page qui nécessite une connexion:
curl 'https://www.example.com/profile' \
--cookie cookies.txt
Je ne veux pas stocker les cookie sur le disque dans mon application, seulement en mémoire afin que je puisse l'utiliser en cas de besoin.
Quelqu'un at-il un exemple de la façon dont cela peut être réalisé dans Go?
Oui, utilisez un [http.CookieJar] (http://golang.org/pkg/net/http/#CookieJar). Voir [Quelle est la différence entre cookie et cookiejar?] (Http://stackoverflow.com/questions/31270461/what-is-the-difference-between-cookie-and-cookiejar/31270794#31270794) – icza
Merci. Belle et claire explication. Je renvoie un pointeur sur 'cookiejar.Jar' depuis ma fonction d'authentification et l'utilise avec' http.Client' dans une autre fonction. –