Maison >développement back-end >Golang >Pourquoi ma requête Go POST n'envoie-t-elle pas de données au destinataire ?

Pourquoi ma requête Go POST n'envoie-t-elle pas de données au destinataire ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-22 16:38:11723parcourir

Why Doesn't My Go POST Request Send Data to the Receiving End?

Envoyer une requête POST avec Go

Faire des requêtes POST dans Go peut être une tâche courante. Cet article fournira une solution à un problème courant rencontré lors de la tentative d'envoi d'une requête POST dans Go.

Problème :

"J'essaie de créer un POST demande, mais je n'arrive pas à le faire fonctionner. Rien n'est reçu du côté récepteur. Je connais la fonction PostForm, mais je pense qu'elle ne peut pas être testée avec httputil, correct?"

Solution :

Le code fourni dans l'énoncé du problème est généralement correct. Le composant manquant est l'affectation des données du formulaire au corps de la requête. Voici le code corrigé :

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

Dans le code d'origine, les données du formulaire ont été attribuées à req.PostForm, qui est utilisé pour soumettre les données du formulaire dans le cadre des en-têtes. Pour une requête POST, les données du formulaire doivent être envoyées dans le corps de la requête. L'utilisation de strings.NewReader(form.Encode()) crée un io.Reader qui contient les données du formulaire codées sous forme de chaîne codée en URL, qui est le format attendu pour les requêtes POST utilisant le type de contenu application/x-www-form-urlencoded. .

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