Beschreibung:
Mit diesen beiden Funktionen könnt ihr Get & Post Request an einen Webserver / URL ausführen!
Sie haben evtl. noch Verbesserungspotential doch sie hauen beide hin!
Wenn jemand einen Fehler entdeckt bitte melden! Nehme auch gerne Kritik entgegen!
public static string Post(string url, Dictionary<string, string> args)
{
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
ASCIIEncoding encoding = new ASCIIEncoding();
string postData = string.Empty;
foreach (KeyValuePair<string, string> valuePair in args) {
if (postData != string.Empty) postData += "&";
postData += string.Format("{0}={1}", valuePair.Key, valuePair.Value);
}
byte[] data = encoding.GetBytes(postData);
webRequest.Method = "POST";
webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.ContentLength = data.Length;
Stream stream = webRequest.GetRequestStream();
stream.Write(data, 0, data.Length);
stream.Close();
WebResponse webResponse = webRequest.GetResponse();
StreamReader streamReader = new StreamReader(webResponse.GetResponseStream());
string responseFromServer = streamReader.ReadToEnd();
streamReader.Close();
webResponse.Close();
return responseFromServer;
}
public static string Get(string url, Dictionary<string, string> args)
{
string parameters = string.Empty;
foreach (KeyValuePair<string, string> valuePair in args) {
if (parameters != string.Empty) parameters += "&";
parameters += string.Format("{0}={1}", valuePair.Key, valuePair.Value);
}
url += string.Format("?{0}", parameters);
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
WebResponse webResponse = webRequest.GetResponse();
StreamReader streamReader = new StreamReader(webResponse.GetResponseStream());
string responseFromServer = streamReader.ReadToEnd();
streamReader.Close();
webResponse.Close();
return responseFromServer;
}
Schlagwörter: Http, Get, Post, Request, Web
public Knowledge Learn_CSharp();
Du solltest unbedingt die Parameter beim Einbauen in die URL nochmal in die HttpServerUtility.UrlEncode-Methode (System.Web) werfen. Falls die Werte irgendwelche Sonderzeichen enthalten.
Und du könntest/solltest - wo möglich - die using-Anweisung verwenden.
Ansonsten: Guck mal in WebClient mit HTTP-POST- und Cookie-Unterstützung 😃
8o
Danke! Ich werde mir dies mal richtig durchschauen!
Ich habe es nur für einen einfachen Request gebraucht. Hab auf einem Webserver eine PHP-Klasse welche mir die Posts/Gets richtig auswertet.
Werde mal schauen was ich bei meinen KLEINEN Funktionen selbst verbessern kann!
Aber sicherlich danke für die Tipps!
public Knowledge Learn_CSharp();
OMG ich versuch schon die ganze Zeit einen Post zu machen und bekomm immer nen Fehler. Mit deinem Snippet klappts, danke. Werde den Code jetzt analysieren.
Es ist toll jemand zu sein, der nichts von der persönlichen Meinung Anderer hält. - frisch-live.de