Heim >Backend-Entwicklung >Golang >Sendet mein Go POST-Anfragecode Formulardaten korrekt?
Beim Erstellen von POST-Anfragen in Go ist es wichtig sicherzustellen, dass diese korrekt konfiguriert und gesendet werden, um Verbindungsprobleme zu vermeiden. Lassen Sie uns eine häufige Herausforderung angehen, vor der Entwickler in diesem Bereich stehen.
Frage:
Beim Versuch, eine POST-Anfrage zu senden, wird am Ziel keine Antwort empfangen. Ist das folgende Code-Snippet ein gültiger Ansatz für solche Anfragen?
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)
Antwort:
Das von Ihnen bereitgestellte Code-Snippet weist ein kleines Problem bei der Art und Weise auf, wie die Formulardaten hinzugefügt werden zur Anfrage. Die Formulardaten sollten im Hauptteil der Anfrage gesendet werden, nicht als Teil der URL-Parameter. Hier ist der korrigierte Code:
req, err := http.NewRequest("POST", url, strings.NewReader(form.Encode()))
In diesem korrigierten Code kodiert der Aufruf strings.NewReader(form.Encode()) die Formulardaten in einen String und weist ihn dem Hauptteil der Anfrage zu. Dadurch wird sichergestellt, dass die Formulardaten korrekt gesendet werden und vom Server verarbeitet werden können.
Das obige ist der detaillierte Inhalt vonSendet mein Go POST-Anfragecode Formulardaten korrekt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!