So habe ich eine API, die ich anrufen möchte. Der erste Anruf ist ein Ahoy-Anruf und in dem Körper der Anfrage muss ich den ship_type, den Piratennamen und meinen Piratenpass schicken. Ich möchte dann die Antwort lesen, die meine Schatzbeute hat, die ich für später verwenden werde.Stellen Sie einen Körper für WebClient ein, wenn Sie eine Post-Anfrage machen
Ich bin in der Lage, dies mit Web-Anfrage zu tun. aber ich habe das Gefühl, dass es einen besseren Weg gibt, es mit Webclient zu tun.
(so wie ich es zur Zeit in webrequest)
//Credentials for the Pirate api
string piratename = "IvanTheTerrible";
string piratepass= "YARRRRRRRR";
string URI = "https://www.PiratesSuperSecretHQ.com/sandyShores/api/respectmyauthority";
WebRequest wr = WebRequest.Create(URI);
wr.Method = "POST";
wr.ContentType = "application/x-www-form-urlencoded";
string bodyData = "ship_type=BattleCruiser&piratename=" + piratename + "&piratepass=" + piratepass;
ASCIIEncoding encoder = new ASCIIEncoding();
byte[] byte1 = encoder.GetBytes(bodyData);
wr.ContentLength = byte1.Length;
//writes the body to the request
Stream newStream = wr.GetRequestStream();
newStream.Write(byte1, 0, byte1.Length);
newStream.Close();
WebResponse wrep = wr.GetResponse();
string result;
using (var reader = new StreamReader(wrep.GetResponseStream()))
{
result = reader.ReadToEnd(); // do something fun...
}
Vielen Dank im Voraus oder so.
sein wollen Haben Sie versucht WebClient.UploadString (URI, bodyData) – Rajesh
Nun .. ich mit fühle mich dumm ... Ich dachte, ich würde einen Fehler bekommen, als ich dachte, dass es als Parameter/Abfrage-String hinzugefügt wurde. Das funktioniert aber ... –
Verwenden Sie System.Net.HttpClient – lgoncalves