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!