myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Gemeinschaft » .NET-Komponenten und C#-Snippets » [Snippet] Http Get & Post
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

[Snippet] Http Get & Post

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Xzelsius Xzelsius ist männlich
myCSharp.de-Mitglied

Dabei seit: 16.10.2008
Beiträge: 92
Entwicklungsumgebung: Visual Studio 2008/Lua Editor
Herkunft: Schweiz


Xzelsius ist offline

[Snippet] Http Get & Post

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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!

C#-Code:
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
29.01.2011 16:24 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
dN!3L dN!3L ist männlich
myCSharp.de-Poweruser/ Experte

avatar-2985.png


Dabei seit: 13.08.2004
Beiträge: 2.891


dN!3L ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von dN!3L am 31.01.2011 09:39.

30.01.2011 15:38 Beiträge des Benutzers | zu Buddylist hinzufügen
Xzelsius Xzelsius ist männlich
myCSharp.de-Mitglied

Dabei seit: 16.10.2008
Beiträge: 92
Entwicklungsumgebung: Visual Studio 2008/Lua Editor
Herkunft: Schweiz

Themenstarter Thema begonnen von Xzelsius

Xzelsius ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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!
31.01.2011 08:17 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Zwischen diesen beiden Beiträgen liegen mehr als 3 Monate.
frisch frisch ist männlich
myCSharp.de-Mitglied

avatar-1724.gif


Dabei seit: 18.08.2005
Beiträge: 2.082
Entwicklungsumgebung: VS C# 2005 Express
Herkunft: Coburg / Oberfranken


frisch ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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.
26.05.2011 13:39 Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 9 Jahre.
Der letzte Beitrag ist älter als 9 Jahre.
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 22.10.2020 13:54