2008-11-25 8 views
21

In .NET ist es möglich, eine unbearbeitete HTTP-Anforderung in HTTPWebRequest-Objekt zu konvertieren?Konvertieren von Raw HTTP-Anforderung in HTTPWebRequest-Objekt

Ich bin sicher, dass .NET intern es tut. Irgendeine Idee, welcher Teil von .NET das tatsächlich handhabt? Kann ich es aufrufen oder gibt es eine externe Bibliothek, die rohe HTTP-Verbindungen erlaubt?

+0

Was müssen Sie tun? Ein HttpRequest-Objekt ist normalerweise das, was Sie programmieren würden, wenn Sie ASP.Net-Sachen in einer gehosteten Umgebung machen. Ein HttpWebRequest ist normalerweise, was Sie in Client/Server-Anwendungen programmieren. –

+0

Was ist eine RAW-HTTP-Anfrage? –

+6

Dies ist eine rohe HTTP-Anfrage: GET /index.php HTTP/1.1 Host: www.example.com –

Antwort

9

Ich glaube nicht, es gibt eine offengelegte Methode, dies zu tun. Möglicherweise müssen Sie einen Parser finden oder schreiben, um die Anfrage zu lösen, und dann Ihre eigene Klasse schreiben, die HttpWebRequest erweitert.

Hier ist, was wie ein Parser von Codeproject aussieht:

http://www.codeproject.com/KB/IP/CSHTTPServer.aspx

ich am Rotor Code suchte die HttpWebRequest (kurz) und ich habe nichts gesehen, das als Königsweg herausragte. Hier ist der Link zur Datei hinzu:

http://www.123aspx.com/Rotor/RotorSrc.aspx?rot=40844

Alle Rotor Code ist hier für das Surfen online:

http://www.123aspx.com/Rotor/default.aspx

Und hier können Sie es herunterladen:

http://www.microsoft.com/downloads/details.aspx?FamilyId=8C09FD61-3F26-4555-AE17-3121B4F51D4D&displaylang=en

Ich weiß, eine Reihe von Links beantwortet nicht wirklich Ihre Frage, aber ich denke nicht Die Funktionalität, nach der Sie suchen, ist im Framework verfügbar. Ich würde gerne falsch bewiesen werden, also bitte aktualisieren Sie die Post, wenn Sie einen guten Weg finden, es zu tun. Ich weiß, dass Tools da draußen es tun müssen, alles, was in .Net geschrieben ist, das rohe Anfragen protokolliert und dann Sie erneut einreichen lässt, tut etwas Ähnliches. Ich glaube, Fiddler (http://www.fiddler2.com) ist in .Net geschrieben, möchten Sie vielleicht eine E-Mail über diese Jungs schießen und sehen, ob sie helfen können.

+1

Außer, dass jetzt der 123aspx.com-Link ist gebrochen. Leute, hör auf, nur Links zu posten und gib echte Antworten! "Zitiere immer den relevantesten Teil eines wichtigen Links, falls die Zielseite nicht erreichbar ist oder dauerhaft offline geht" http://stackoverflow.com/help/how-to-answer – vapcguy

2

Google für Cassinni, das ein HTTP-Server mit ursprünglich von Microsoft angebotener Quelle war, die ASP.NET-Aufrufe hosten konnte. Sie müssen die Anfrage selbst analysieren und laden, aber Cassinni wäre ein guter Ausgangspunkt. Diese URL könnte helfen:

http://blogs.msdn.com/dmitryr/archive/2005/09/27/474534.aspx

+0

Danke, ich werde mich darum kümmern. –

+1

Nur dass jetzt die Verbindung unterbrochen ist. Leute, hör auf, nur Links zu posten und gib echte Antworten! "Zitiere immer den relevantesten Teil eines wichtigen Links, falls die Zielseite nicht erreichbar ist oder dauerhaft offline geht" http: // stackoverflow.com/hilfe/wie zu antworten – vapcguy