Stellen Sie eine HTTP-POST-Webanforderung in C#
-
Erstellen Sie eine HTTP-POST-Webanforderung mit der Klasse
WebClient
inC#
-
Erstellen Sie eine HTTP-POST-Webanforderung mit der Klasse
HttpWebRequest
inC#
-
Erstellen Sie eine HTTP-POST-Webanforderung mit der Klasse
HttpClient
inC#
In diesem Lernprogramm werden Methoden zum Erstellen einer HTTP-POST-Webanforderung in C# erläutert.
Erstellen Sie eine HTTP-POST-Webanforderung mit der Klasse WebClient
in C#
Die Klasse WebClient
bietet viele Methoden zum Senden und Empfangen von Daten an eine URL in C#. Wir können HTTP-POST-Anforderungen mithilfe der Funktion WebClient.UploadValues(url, values)
der Klasse WebClient
in C# stellen. Das folgende Codebeispiel zeigt uns, wie wir mit der Klasse WebClient
in C# eine einfache HTTP-POST-Webanforderung erstellen können.
using System.Net;
using System.Collections.Specialized;
var wb = new WebClient() var data = new NameValueCollection();
string url = "www.example.com" data["username"] = "myUser";
data["password"] = "myPassword";
var response = wb.UploadValues(url, "POST", data);
Im obigen Code erstellen wir den Webclient wb
zum Senden von Daten an die url
. Wir initialisieren die Variable data
, die wir an die url
senden möchten. Wir stellen die HTTP-POST-Webanforderung an die url
, indem wir POST
in den Parametern der Funktion “wb.UploadValues (URL,” POST “, Daten)” angeben. Die Antwort von der url
wird in der Variablen reponse
gespeichert.
Erstellen Sie eine HTTP-POST-Webanforderung mit der Klasse HttpWebRequest
in C#
Die Klasse HttpWebRequest
bietet Methoden zur direkten Interaktion mit dem Server mithilfe des HTTP-Protokolls in C#. Wir können die Eigenschaft HttpWebRequest.Method = "POST"
verwenden, um anzugeben, dass eine HTTP-Webanforderung eine POST-Anforderung in C# ist. Das folgende Codebeispiel zeigt, wie eine einfache HTTP-POST-Webanforderung mit der Klasse HttpWebRequest
in C# erstellt wird.
using System.Net;
using System.Text;
using System.IO;
string url = "http://www.example.com" var request = (HttpWebRequest)WebRequest.Create(url);
var postData = "username=" + Uri.EscapeDataString("myUser");
postData += "&password=" + Uri.EscapeDataString("myPassword");
var data = Encoding.ASCII.GetBytes(postData);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
using (var stream = request.GetRequestStream()) {
stream.Write(data, 0, data.Length);
}
var response = (HttpWebResponse)request.GetResponse();
Im obigen Code haben wir die HTTP-Webanforderung request
an die url
erstellt. Wir haben angegeben, dass die request
eine POST-Anfrage mit der Eigenschaft request.Method = "POST"
ist. Wir haben die Daten postData
, die wir an die url
senden möchten, mit der Funktion Uri.EscapeDataString()
initialisiert und die Daten in die Byte-Variable data
codiert. Wir geben die Länge der Daten an, die wir mit der Eigenschaft request.ContentLength = data.Length
an die url
senden möchten. Am Ende haben wir einen stream
erstellt und Daten mit der Funktion stream.Write()
geschrieben. Wir haben die Antwort von der url
mit der Funktion request.GetResponse()
erfasst und im Klassenobjekt response
HTTPWebResponse
gespeichert.
Erstellen Sie eine HTTP-POST-Webanforderung mit der Klasse HttpClient
in C#
Die Klasse HttpClient
bietet Methoden zum Senden von HTTP-Anforderungen und zum Empfangen von HTTP-Antworten in C#. Wir können eine HTTP-POST-Webanforderung mit der Funktion HttpClient.PostAsync(url, data)
stellen, wobei url
die URL und die Daten
die Daten sind, die wir an die url
senden möchten. Das folgende Codebeispiel zeigt, wie eine einfache HTTP-POST-Anforderung mit der Klasse HttpClient
erstellt wird.
using System.Net.Http;
readonly HttpClient client = new HttpClient();
var values =
new Dictionary<string, string> { { "username", "myUser" }, { "password", "myPassword" } };
string url = "http://www.example.com" var data = new FormUrlEncodedContent(values);
var response = await client.PostAsync(url, data);
Im obigen Code haben wir den schreibgeschützten HTTP-Client client
erstellt und die url
initialisiert. Wir haben die Daten, die wir an die url
senden möchten, im Dictionary values
gespeichert. Anschließend haben wir die Werte
mit der Funktion FormUrlEncodedContent()
in den Typ application/x-www-form-urlencoded
konvertiert. Am Ende haben wir eine HTTP-POST-Webanforderung mit der Funktion client.PostAsync(url, data)
gestellt und die Antwort von der url
in der Variablen response
gespeichert.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn