Maison >développement back-end >Golang >Mon code de requête Go POST envoie-t-il correctement les données du formulaire ?

Mon code de requête Go POST envoie-t-il correctement les données du formulaire ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-19 21:53:111009parcourir

Is My Go POST Request Code Correctly Sending Form Data?

Requêtes POST dans Go : dépannage des problèmes de connectivité

Lorsque vous effectuez des requêtes POST dans Go, il est important de vous assurer qu'elles sont configurées et envoyées correctement pour éviter les problèmes de connectivité. Abordons un défi courant rencontré par les développeurs dans ce domaine.

Question :
Lors de la tentative d'envoi d'une requête POST, aucune réponse n'est reçue à la destination. L'extrait de code suivant est-il une approche valide pour effectuer de telles demandes ?

hc := http.Client{}
req, err := http.NewRequest("POST", APIURL, nil)

form := url.Values{}
form.Add("ln", c.ln)
form.Add("ip", c.ip)
form.Add("ua", c.ua)
req.PostForm = form
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")

glog.Info("form was %v", form)
resp, err := hc.Do(req)

Réponse :
L'extrait de code que vous avez fourni présente un problème mineur dans la façon dont les données du formulaire sont ajoutées. à la demande. Les données du formulaire doivent être envoyées dans le corps de la demande, et non dans les paramètres de l'URL. Voici le code corrigé :

req, err := http.NewRequest("POST", url, strings.NewReader(form.Encode()))

Dans ce code corrigé, l'appel strings.NewReader(form.Encode()) encode les données du formulaire dans une chaîne et l'attribue au corps de la requête. Cela garantit que les données du formulaire sont envoyées correctement et peuvent être traitées par le serveur.

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!

Déclaration:
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