2010-12-28 7 views
3

Ich habe einige fischige Anwendung, die HTTP-Anfragen an eine Website macht, würde ich gerne diese Anfrage schneiden und andere Daten an den Server senden. Ist das in C#, Java oder C++ möglich?Abfangen HTTP-Anfragen

EDIT: Die Anwendung ist nicht von mir, ich weiß nur den Endpunkt, die es HTTP-Anfragen

+0

Was ** intersect ** bedeutet eigentlich hier? – Aliostad

+0

Sie könnten einen Proxy-Server schreiben und auf Ihrem System ausführen. Konfigurieren Sie den Proxyserver in Ihrer Anwendung (oder in Internet Explorer, wenn die Anwendung diese Einstellungen kennt). –

+1

"Abfangen" vielleicht? – David

Antwort

5

Fiddler könnte die Funktionalität, die Sie benötigen. Zumindest können Sie damit sehen, was auf die Website gesendet wird.

+0

Ich denke, Fiddler erlaubt dir nur, dich zu introspizieren, aber nicht zu modifizieren. – Nim

+0

Nop der Fiddler lässt mich nur die Anfragen sehen – DVD

+2

@DVD - Im Gegenteil! Fiddler bietet Ihnen die volle Leistung von Jscript.NET, um sowohl die Anfrage als auch die Antwort nach Herzenslust zu optimieren! Hier ein paar Beispiele: http://www.fiddler2.com/fiddler/Dev/ScriptSamples.asp –

1

in Java sendet Sie können Anfrage abfangen von Filter

0

Zum einen sind Sie sich bewusst, wie es mit dem Internet verbindet? Werden beispielsweise die Einstellungen vom Internet Explorer verwendet oder wird eine direkte Verbindung hergestellt? Wenn Letzteres schwierig ist, gibt es keine direkte Portweiterleitung wie in Linux, daher benötigen Sie einige Tools von Drittanbietern, um den Datenverkehr auf einen Server umzuleiten (den Sie in Java, C++ oder C#, I schreiben können) würde für C# gehen, wenn Sie es für die reine Geschwindigkeit der Entwicklung wissen) In diesem Server können Sie die Anfrage abfangen und dann Ihre eigenen erstellen, um tatsächlich an das echte Ziel zu senden.

Klingt wie ein Cludge, aber ich denke, dass Sie wegen des Mangels an direkter Port-Weiterleitung an diesem Ansatz festhalten. Sie müssen das Drittanbieter-Tool konfigurieren, das Sie verwenden, um einen anderen bekannten Port an 80 weiterzuleiten, und Ihr Server sollte dazu schreiben.

+0

Das Problem ist, dass das Programm nicht meins ist, also weiß ich nur, wo es Daten sendet. . . Was ich tun möchte, ist einfach abzufangen und zu tun, was ich will xDD – DVD

+0

@DVD, dann sind Sie mit der oben genannten Ansatz stecken, in Java gibt es einige embeddeble HTTP-Server, die OS sind, dann verwenden Sie die Drittanbieter-Tools (wie http://www.boutell.com/rinetd/ - das ist alt, eine Google-Suche sollte einige neuere Tools zurückgeben!) Umleiten der HTTP-Anfragen an Ihren Server, die dann an das echte Ziel senden sollten Sie müssen einige lokale Adressen an das echte Ziel umleiten und Ihr Server sollte sich damit verbinden!) – Nim