2016-07-21 4 views
1

Ich habe eine C# -Anwendung und ich möchte ausgehende HTTP-Anfragen erfassen, die über die Anwendung gemacht wurden (ich kann auch feststellen, dass es aus der App stammt, weil ich einen bestimmten Servernamen habe). Bei der Suche im Internet konnte ich nur eingehende Anfragen (mit TcpListener und HttpListener) auffangen (also ist der Code auf der Serverseite). Aber der Code muss clientseitig sein, also müssen es ausgehende Anfragen sein. Und ich kann keine Bibliotheken von Drittanbietern (wie FiddlerCore zum Beispiel) verwenden. Also ich bin wirklich auf der Suche nach einem Code-Beispiel, von dem ich anfangen soll.Wie erfasse ich ausgehende HTTP-Anforderungen auf meinem Client?

+0

Was ist Ihre Client-Anwendung? WPF? Wie sendet es Anfragen an Ihren Server? –

+0

Ja, es ist wpf. Ich benutze auch den Feature-Layer von ESRI, der HTTP-Anfragen an den arcgis-Webserver sendet. Ich möchte diese Anfragen erfassen, bevor sie gesendet werden und sie senden, nachdem ich fertig bin –

+0

Wenn Ihr wpf ESRI-Funktion aufruft, die die HTTP-Anfragen erstellt und sendet, dann habe ich Angst, dass Sie kein Glück haben, außer Sie haben eine Kontrolle über das Anfrageverfahren des ESRI. –

Antwort

0

Möchten Sie die Anfrage speichern oder nur zum Debuggen darauf zugreifen? Wenn Sie nach dem Debuggen gehen, dann können Sie Fiddler verwenden. Fiddler ist eine HTTP-Debugging-Proxy-Server-Anwendung. Und wenn Sie planen, Daten in der Anfrage oder der Antwort zu ändern oder zu lesen, können Sie auf HTTPRequestWrapper und HTTPResponseWrapper zugreifen.

+0

Ich möchte auf den Code zugreifen. Also kann ich Fiddler nicht benutzen. Ich möchte die Anfrage abfangen, ein paar Überprüfungen durchführen und sie senden –

+0

Ich denke, OP möchte etwas in der Anfrage überprüfen, bevor es aus der Client-App gesendet wird. –

+0

können Sie die [HTTPRequestWrapper] (https://msdn.microsoft.com/en-us/library/system.web.httprequestwrapper (v = vs.110) .aspx) gleiche für [HTTPResponseWrapper] (https://msdn.microsoft.com/en-us/library/system.web.httpresponsewrapper(v=vs.110).aspx) durch nur Request Objekt oder Antwort in Ihnen Code – Hasan