Heim >Backend-Entwicklung >Golang >Warum sendet meine Go POST-Anfrage keine Daten an den Empfänger?

Warum sendet meine Go POST-Anfrage keine Daten an den Empfänger?

Barbara Streisand
Barbara StreisandOriginal
2024-12-22 16:38:11726Durchsuche

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

Senden einer POST-Anfrage mit Go

Das Stellen von POST-Anfragen in Go kann eine häufige Aufgabe sein. Dieser Artikel bietet eine Lösung für ein häufiges Problem, das beim Versuch auftritt, eine POST-Anfrage in Go zu senden.

Problem:

„Ich versuche, einen POST zu erstellen.“ Anfrage, aber ich kann es anscheinend nicht zum Laufen bringen. Mir ist die PostForm-Funktion bekannt, aber ich glaube, sie kann nicht mit httputil getestet werden. richtig?"

Lösung:

Der in der Problemstellung angegebene Code ist größtenteils korrekt. Die fehlende Komponente ist die Zuordnung der Formulardaten zum Anfragetext. Hier ist der korrigierte Code:

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

Im ursprünglichen Code wurden die Formulardaten req.PostForm zugewiesen, das zum Senden von Formulardaten als Teil der Header verwendet wird. Bei einer POST-Anfrage sollten die Formulardaten im Hauptteil der Anfrage gesendet werden. Durch die Verwendung von strings.NewReader(form.Encode()) wird ein io.Reader erstellt, der die Formulardaten codiert als URL-codierte Zeichenfolge enthält. Dies ist das erwartete Format für POST-Anfragen unter Verwendung des Inhaltstyps application/x-www-form-urlencoded .

Das obige ist der detaillierte Inhalt vonWarum sendet meine Go POST-Anfrage keine Daten an den Empfänger?. 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