Entwickler-Ecke

ASP.NET und Web - HTTP Request in .Net


Hansi@OMG - Di 26.12.06 21:08
Titel: HTTP Request in .Net
Hallo,
bin dabei eine kleine Anwendung auf dem Compact Framework zu schreiben, also .Net.

Ich weis nur nicht, wie ich in dieser Sprache einen HttpRequest abschicke.
Es gibt zwar die Klasse System.Net.HttpWebRequest, aber ich finde keine Codebeispiele und komme nicht dahinter, wie man das hernimmt.
Bin für jedes Codeschnipsel dankbar, aber bitte nicht in C#!!!


Moderiert von user profile iconChristian S.: Topic aus .NET verschoben am Di 26.12.2006 um 20:15


Christian S. - Di 26.12.06 21:23
Titel: Re: HTTP Request in .Net
user profile iconHansi@OMG hat folgendes geschrieben:
Ich weis nur nicht, wie ich in dieser Sprache einen HttpRequest abschicke.
Es gibt zwar die Klasse System.Net.HttpWebRequest, aber ich finde keine Codebeispiele und komme nicht dahinter, wie man das hernimmt.

z.B. so:


C#-Quelltext
1:
2:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(yourUrl);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();


Und da kannst Du z.B. den ResponseStream benutzen: response.GetResponseStream();

user profile iconHansi@OMG hat folgendes geschrieben:
Bin für jedes Codeschnipsel dankbar, aber bitte nicht in C#!!!
Wieso nicht? Sieht doch in .NET eh alles gleich aus. Ich werde .NET niemals in Delphi machen.


Hansi@OMG - Mi 27.12.06 00:17

Eben aus dem Grund nicht in C#, weil ich Compact Framework entwickeln will und nur weis, wie das mit Delphi .Net geht. Außerdem bin ich kein Fan von C#, um es mal so auszudrücken.
Und ich bin leider auch nicht in der Lage diesen C#-Quelltext in Delphi zu übersetzen und glaub mir, ich habs schon lange versucht. Ich habs sogar mit dem Babelcode von Borland probiert, aber was da rauskam hat mein Delphi auch nicht geschluckt. Deswegen brauch ich ja ein Codebeispiel in Delphi.


Christian S. - Mi 27.12.06 00:39

user profile iconHansi@OMG hat folgendes geschrieben:
Eben aus dem Grund nicht in C#, weil ich Compact Framework entwickeln will und nur weis, wie das mit Delphi .Net geht.
Öhm, in Delphi hast Du doch noch nichtmal einen Designer, oder? :gruebel: Und das verkrüpelte .NET 1.1. :gruebel: Du kannst nicht ernsthaft annehmen, man könne in Bezug auf .NET mit Delphi irgend etwas machen, was mit C# nicht geht. Das Gegenteil ist leider allzu oft der Fall.

user profile iconHansi@OMG hat folgendes geschrieben:
Außerdem bin ich kein Fan von C#, um es mal so auszudrücken.
Wie kannst Du das beurteilen, wenn Du es nicht gut genug kennst, um die obigen drei Zeilen in Delphi zu übersetzen?

user profile iconHansi@OMG hat folgendes geschrieben:
Und ich bin leider auch nicht in der Lage diesen C#-Quelltext in Delphi zu übersetzen und glaub mir, ich habs schon lange versucht. Ich habs sogar mit dem Babelcode von Borland probiert, aber was da rauskam hat mein Delphi auch nicht geschluckt. Deswegen brauch ich ja ein Codebeispiel in Delphi.


Ich habe jetzt mal was in meiner Lieblins-.NET-Sprache (Chrome) geschrieben. Es dürfte Delphi eigentlich ähnlich genug sein, dass Du es übernehmen kannst. Es sollte Dir auf der Konsole den HTML-Quelltext des Delphi-Forums ausgeben.


Chrome-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
namespace ConsoleApplication1;

interface

uses
  System.Text,
  System.IO,
  System.Net;

type
  ConsoleApp = class
  public
    class method Main;
  end;

implementation

class method ConsoleApp.Main;
var
  request : HttpWebRequest;
  response : HttpWebResponse;
  sr : StreamReader;
begin
  request := HttpWebRequest(WebRequest.&Create('http://www.delphi-forum.de'));
  response := HttpWebResponse(request.GetResponse);
  
  sr := StreamReader.Create(response.GetResponseStream);
  while not sr.EndOfStream do
    Console.WriteLine(sr.ReadLine);
  
  Console.ReadLine;
end;

end.


Du musst mal schauen, wie das mit dem WebRequest.&Create in Delphi aussieht. Ich musste das "&" davor machen, damit es als Methode und nicht als Konstruktor erkannt wird. Eigentlich sehen Konstruktoren in Chrome anders aus, aber ich hab für Dich den Delphi-Kompatibilitätsmodus aktiviert ;-)

Ich habe keine .NET-Personality von Delphi installiert, daher kann ich Dir das leider nicht in Delphi zeigen.

//Edit: Ach ja, Du musst noch System.Web referenzieren.


Hansi@OMG - Mi 27.12.06 12:00

Danke, so muss man das also machen.
Und doch, ich hab einen Designer in Delphi fürs Compact Framework, dank dem Plugin CFBuilder.
Vielleicht sollte ich irgendwann mal C# lernen, aber momentan sehe ich dafür noch keinen Anlass.


Kha - Do 28.12.06 11:12

user profile iconHansi@OMG hat folgendes geschrieben:
Vielleicht sollte ich irgendwann mal C# lernen, aber momentan sehe ich dafür noch keinen Anlass.
Kann man so wirklich mit dem SDK arbeiten :gruebel: ?