Heim > Backend-Entwicklung > Golang > Wie mache ich URL-codierte POST-Anfragen mit „http.NewRequest(...)' von Go?

Wie mache ich URL-codierte POST-Anfragen mit „http.NewRequest(...)' von Go?

Linda Hamilton
Freigeben: 2024-12-28 15:06:10
Original
963 Leute haben es durchsucht

How to Make URL-Encoded POST Requests with Go's `http.NewRequest(...)`?

HTTP URL-codierte POST-Anfragen über http.NewRequest(...)

Formcodierte Daten sind eine grundlegende Technik zum Senden von Daten über HTTP. Dieses Datenkodierungsformat wird weithin unterstützt und in verschiedenen Szenarien verwendet. Lassen Sie uns einen Ansatz untersuchen, um POST-Anfragen mithilfe von http.NewRequest(...) zu stellen und gleichzeitig die Kontrolle über die Anforderungsheader zu behalten.

Um URL-codierte Daten zu übertragen, sollte die Nutzlast nicht an die URL angehängt, sondern über übergeben werden der Anfragetext. Dazu gehört die Erstellung eines bytes.Buffer, der unsere formcodierten Daten enthält:

data := url.Values{}
data.Set("name", "foo")
data.Set("surname", "bar")
encoder := bytes.Buffer{}
encoder.WriteString(data.Encode())
Nach dem Login kopieren

Jetzt können wir unsere http.Request erstellen und den Puffer an den Text anhängen:

request, err := http.NewRequest(http.MethodPost, urlStr, &encoder)
Nach dem Login kopieren

Da es sich um formcodierte Daten handelt, müssen wir den richtigen Inhaltstyp in den Kopfzeilen festlegen:

request.Header.Set("Content-Type", "application/x-www-form-urlencoded")
Nach dem Login kopieren

Endlich sind wir da Bereit zum Absenden der Anfrage:

resp, err := http.DefaultClient.Do(request)
Nach dem Login kopieren

Indem Sie diese Schritte befolgen, können Sie erfolgreich URL-codierte POST-Anfragen mit http.NewRequest(...) und benutzerdefinierten Anfrageheadern stellen. Denken Sie daran, dass die URL-codierten Daten im Anforderungstext gesendet werden sollten und der Inhaltstyp-Header entsprechend festgelegt werden sollte.

Das obige ist der detaillierte Inhalt vonWie mache ich URL-codierte POST-Anfragen mit „http.NewRequest(...)' von Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage