it-swarm.com.de

Richten Sie einen HTTP-Proxy ein, um einen Header einzufügen

Ich muss einige HTTP-Interaktionen mit einem Client testen, den ich nicht ändern möchte. Was ich testen muss, ist das Verhalten des Servers, wenn die Anforderungen des Clients einen bestimmten statischen Header enthalten.

Ich denke, der einfachste Weg, diesen Test auszuführen, besteht darin, einen HTTP-Proxy einzurichten, der den Header bei jeder Anforderung einfügt. Was wäre der einfachste Weg, dies einzurichten?

42
Logan

Ich mache so etwas in meiner Entwicklungsumgebung, indem ich Apache an Port 80 als Proxy für meinen Anwendungsserver an Port 8080 mit der folgenden Apache-Konfiguration konfiguriere:

NameVirtualHost *
<VirtualHost *>
   <Proxy http://127.0.0.1:8080/*>
      Allow from all
   </Proxy>
   <LocationMatch "/myapp">
      ProxyPass http://127.0.0.1:8080/myapp
      ProxyPassReverse http://127.0.0.1:8080/myapp
      Header add myheader "myvalue"
      RequestHeader set myheader "myvalue"   
   </LocationMatch>
</VirtualHost>

Siehe LocationMatch und RequestHeader Dokumentation.

Dies fügt den Header myheader: myvalue zu den Anforderungen hinzu, die an den Anwendungsserver gehen.

65
Peter Hilton

Sie können auch Fiddler installieren ( http://www.fiddler2.com/fiddler2/ ), das sehr einfach zu installieren ist (einfacher als beispielsweise Apache).

Nach dem Start registriert es sich als System-Proxy. Öffnen Sie dann das Menü "Regeln" und wählen Sie "Regeln anpassen ...", um eine JScript-Datei zu öffnen, in der Sie Anforderungen anpassen können.

Um einen benutzerdefinierten Header hinzuzufügen, fügen Sie einfach eine Zeile in der Funktion OnBeforeRequest hinzu:

oSession.oRequest.headers.Add("MyHeader", "MyValue");
15
Nico

ich würde versuchen tinyproxy . In der Tat wäre es am besten, dort eine Skriptsprache einzubetten ... klingt nach einem perfekten Job für Lua , vor allem nachdem er gesehen hat, wie gut es für mysqlproxy funktioniert.

3
Javier

Ich hatte Mitarbeiter, die Burp ("einen interaktiven HTTP/S-Proxyserver zum Angriff und Testen von Webanwendungen") dafür verwendet haben. Sie können möglicherweise auch Fiddler ("einen HTTP-Debugging-Proxy") verwenden.

2
Kevin Hakanson

Verwenden Sie http://www.proxomitron.info und richten Sie den gewünschten Header ein usw.

1
Eduardo

Wenn Sie Ruby auf Ihrem System haben, wie wäre es mit einem kleinen Ruby Proxy, der Sinatra verwendet (stellen Sie sicher, dass Sie den Sinatra Gem installieren). Dies sollte einfacher sein als das Einrichten von Apache. Den Code finden Sie hier.

0
John Bowers

Anstatt einen Proxy zu verwenden, verwende ich das Firefox-Plugin "Modify Headers" , um Header einzufügen (in meinem Fall, um eine Anmeldung mit Single Sign On zu fälschen, damit ich als verschiedene Personen testen kann).

0
Paul Tomblin