Benutzer mit den meisten Antworten
HttpWebRequest

Frage
-
Hallo,
ich würde gerne wissen,
wie ich eine website "requeste".
Das ist mir bisher leider nicht gelungen.
Ich bin momentan etwa so weit:
Muss das request noch abgeschickt werden, wenn ja, wie?HttpWebRequest httpReq = (HttpWebRequest) WebRequest.Create("http://www.foo.de/statistics.php?info=default"); httpReq.KeepAlive = false; httpReq.ContentType = "text/html";
Natürlich "muss" dass php skript ausgeführt werden.( Wie es zu einem webrequest eben gehört).
michael
Antworten
-
Hallo Michael,
Hier ein einfaches Beispiel für ein synchrones Request:
HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create("http://www.foo.de/statistics.php?info=default"); httpRequest.KeepAlive = false; httpRequest.ContentType = "text/html"; try { using (HttpWebResponse response = (HttpWebResponse)httpRequest.GetResponse()) { if (response.StatusCode == HttpStatusCode.OK) { using (Stream responseStream = response.GetResponseStream()) { using (StreamReader reader = new StreamReader(responseStream)) { var resp = reader.ReadToEnd(); Console.WriteLine(resp); } } } } } catch (WebException ex) { Console.Write("Ein Fehler ist aufgetreten. Fehler-Code: " + ((HttpWebResponse)ex.Response).StatusCode); using (Stream responseStream = ex.Response.GetResponseStream()) { using (StreamReader reader = new StreamReader(responseStream)) { var resp = reader.ReadToEnd(); Console.WriteLine(resp); } } } Console.ReadKey(true);
Siehe auch die MSDN-Dokumentation:HttpWebRequest-Klasse:
http://msdn.microsoft.com/de-de/library/system.net.httpwebrequest(v=VS.100).aspxHttpWebResponse-Klasse:
http://msdn.microsoft.com/de-de/library/system.net.httpwebresponse.aspxHttpWebResponse.GetResponseStream-Methode:
http://msdn.microsoft.com/de-de/library/system.net.httpwebresponse.getresponsestream.aspxGruß
Marcel- Als Antwort vorgeschlagen Robert BreitenhoferModerator Mittwoch, 20. Oktober 2010 15:09
- Als Antwort markiert poitroae Mittwoch, 20. Oktober 2010 17:59
-
Hallo Michael,
Leider aber, wird das php skript auf dem server nicht ausgeführt.
Link1: http://michael-jakob.net/products/InfoFileCreator/statistics.php?info=lol
Dieser link soll aufgerufen werden, sowie das aufgerufene php skript bearbeitet werden.
Wichtig ist auch die GET - übergabe, existiert sie nicht, wird das php skript nicht abgearbeitet
Dein komisches Konstrukt beim Aufruf der o.g. URL dann ein Frameset rauszuschmeißen, dass dann wiederum als Frame SRC eine andere URL aufruft, funktioniert so nicht. Ein Browser kann mit sowas umgehen, was anderes nicht, wenn es nix mit Frames anzufangen weiß.
Korrigier also bitte erst mal dein Zeugs, so dass man das sauber aufrufen kann.Ruft man nämlich die eigentliche Zielseite:
http://5394374.de.strato-hosting.eu/michael/products/InfoFileCreator/statistics.php?info=lol
auf, klappt das auch.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert poitroae Mittwoch, 20. Oktober 2010 17:49
Alle Antworten
-
Hallo Michael,
Hier ein einfaches Beispiel für ein synchrones Request:
HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create("http://www.foo.de/statistics.php?info=default"); httpRequest.KeepAlive = false; httpRequest.ContentType = "text/html"; try { using (HttpWebResponse response = (HttpWebResponse)httpRequest.GetResponse()) { if (response.StatusCode == HttpStatusCode.OK) { using (Stream responseStream = response.GetResponseStream()) { using (StreamReader reader = new StreamReader(responseStream)) { var resp = reader.ReadToEnd(); Console.WriteLine(resp); } } } } } catch (WebException ex) { Console.Write("Ein Fehler ist aufgetreten. Fehler-Code: " + ((HttpWebResponse)ex.Response).StatusCode); using (Stream responseStream = ex.Response.GetResponseStream()) { using (StreamReader reader = new StreamReader(responseStream)) { var resp = reader.ReadToEnd(); Console.WriteLine(resp); } } } Console.ReadKey(true);
Siehe auch die MSDN-Dokumentation:HttpWebRequest-Klasse:
http://msdn.microsoft.com/de-de/library/system.net.httpwebrequest(v=VS.100).aspxHttpWebResponse-Klasse:
http://msdn.microsoft.com/de-de/library/system.net.httpwebresponse.aspxHttpWebResponse.GetResponseStream-Methode:
http://msdn.microsoft.com/de-de/library/system.net.httpwebresponse.getresponsestream.aspxGruß
Marcel- Als Antwort vorgeschlagen Robert BreitenhoferModerator Mittwoch, 20. Oktober 2010 15:09
- Als Antwort markiert poitroae Mittwoch, 20. Oktober 2010 17:59
-
Vielen dank für ihre hilfreiche Demonstration!
Leider aber, wird das php skript auf dem server nicht ausgeführt.
Hier mein beispiel:
Link1: http://michael-jakob.net/products/InfoFileCreator/statistics.php?info=lol
Dieser link soll aufgerufen werden, sowie das aufgerufene php skript bearbeitet werden.
Wichtig ist auch die GET - übergabe, existiert sie nicht, wird das php skript nicht abgearbeitet
sondern nur [ if isset und if $_GET.. != "" ];
Das php skript addiert nur ein zusätzliches 'a' zu einer datei hinzu, welche sie hier finden können:
http://michael-jakob.net/products/InfoFileCreator/statistics.plain
( Rufen sie erst die *.plain datei auf, dann die php datei. Laden sie die plain datei neu, und es sollte ein zusätzliches 'a' hinzugefügt worden sein.
Beim aufrufen des c# quellcodes war dies leider nicht der fall!)
Michael D.
-
Hallo Michael,
Leider aber, wird das php skript auf dem server nicht ausgeführt.
Link1: http://michael-jakob.net/products/InfoFileCreator/statistics.php?info=lol
Dieser link soll aufgerufen werden, sowie das aufgerufene php skript bearbeitet werden.
Wichtig ist auch die GET - übergabe, existiert sie nicht, wird das php skript nicht abgearbeitet
Dein komisches Konstrukt beim Aufruf der o.g. URL dann ein Frameset rauszuschmeißen, dass dann wiederum als Frame SRC eine andere URL aufruft, funktioniert so nicht. Ein Browser kann mit sowas umgehen, was anderes nicht, wenn es nix mit Frames anzufangen weiß.
Korrigier also bitte erst mal dein Zeugs, so dass man das sauber aufrufen kann.Ruft man nämlich die eigentliche Zielseite:
http://5394374.de.strato-hosting.eu/michael/products/InfoFileCreator/statistics.php?info=lol
auf, klappt das auch.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert poitroae Mittwoch, 20. Oktober 2010 17:49
-
Gut. Funktioniert, danke :D
Das freut mich. Könntest Du Marcel's Posting auch noch als Antwort markieren? Dort steht der wesentliche Teil der Hilfestellung :)
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Hallo Michael,
HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create("http://5394374.de.strato-hosting.eu/michael/products/InfoFileCreator/statistics.php?info=lol"); httpRequest.Method = "GET";
Bei weiteren Fragen, bitte neuen Thread beginnen. LOL.
Gruß
Marcel