HttpWebRequest

31/08/2007 - 12:56 von Daniel Birkmaier | Report spam
Hallo zusammen,

ich habe einen String als Parameter für eine Webseite, der auch
Sonderzeichen enthalten kann. Deshalb habe ich es am Anfang mit
HttpWebRequest.Create("www.blabla.de?param="+Uri.EncodeDataString(param)).
Allerdings bekomme ich dann vor einfachen Anführungszeichen immer einen
Backslash auf der Seite geliefert.
Wenn ich das ganze mit dem POST-Beispiel, das in der Hilfe bei der
HttpWebRequest.GetRequestStream-Methode zu finden ist, versuche, bekomme ich
immer die Fehlermeldung, dass aus dem ResponseStream nicht gelesen werden
kann. Dabei ist es egal, ob ich dabei die Uri.EncodeDataString-Methode auf
den String anwende oder nicht. Wenn ich es mit diesem Beispiel versuche,
àndere ich es nur so ab, dass ich alle Zeilen mit irgendeinem Console-Befehl
entferne und inputData auf meinen String festlege.
In allen beschriebenen Fàllen kann ich mit dem Browser sowohl vor als auch
nach dem Ausführen der Anwendung problemlos auf die Seite zugreifen.
Woran kann das ganze bitte liegen?

Vielen Dank im Voraus

Daniel Birkmaier
 

Lesen sie die antworten

#1 Frank Dzaebel
31/08/2007 - 20:49 | Warnen spam
Hallo Daniel,

ich habe einen String als Parameter für eine Webseite, der auch
Sonderzeichen enthalten kann. Deshalb habe ich es am Anfang mit
HttpWebRequest.Create("www.blabla.de?param="+Uri.EncodeDataString(param)).
Allerdings bekomme ich dann vor einfachen Anführungszeichen immer einen
Backslash auf der Seite geliefert.



Bei einer Uri musst Du aber ein Uri-Schema angeben, etwa:

string param = "Frànky";
string path = Uri.UriSchemeHttp + Uri.SchemeDelimiter +
"www.FranksSeite.de?param=" + Uri.EscapeDataString(param);
WebRequest request = HttpWebRequest.Create(path);
StreamReader sr = new
StreamReader(request.GetResponse().GetResponseStream());
MessageBox.Show(sr.ReadToEnd());


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen