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
Linda HamiltonOriginal
2024-12-28 15:06:10968Durchsuche

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())

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

request, err := http.NewRequest(http.MethodPost, urlStr, &encoder)

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")

Endlich sind wir da Bereit zum Absenden der Anfrage:

resp, err := http.DefaultClient.Do(request)

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!

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