Question

Je dois tester certaines interactions HTTP avec un client que je préfère ne pas modifier. Ce que je dois tester, c’est le comportement du serveur lorsque les demandes du client incluent un certain en-tête statique.

Je pense que le moyen le plus simple d’exécuter ce test consiste à configurer un proxy HTTP qui insère l’en-tête à chaque demande. Quel serait le moyen le plus simple de le configurer?

Était-ce utile?

La solution

Je fais quelque chose comme cela dans mon environnement de développement en configurant Apache sur le port 80 en tant que proxy pour mon serveur d'applications sur le port 8080, avec la configuration Apache suivante:

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>

Voir LocationMatch et documentation de RequestHeader .

Ceci ajoute l'en-tête myheader: myvalue aux demandes adressées au serveur d'applications.

Autres conseils

Vous pouvez également installer Fiddler ( http://www.fiddler2.com/fiddler2/ . ) qui est très facile à installer (plus facile que Apache par exemple).

Après l'avoir lancé, il s'enregistrera comme proxy système. Ouvrez ensuite le " Règles " menu, puis choisissez "Personnaliser les règles ...". pour ouvrir un fichier JScript qui vous permet de personnaliser les requêtes.

Pour ajouter un en-tête personnalisé, ajoutez simplement une ligne dans la fonction OnBeforeRequest :

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

Je voudrais essayer tinyproxy . En fait, le mieux serait d’intégrer un langage de script là-bas ... cela semble être un travail parfait pour Lua , en particulier après avoir constaté son efficacité pour mysqlproxy

Certains de mes collègues ont utilisé des Burp (" une interface HTTP / S interactive serveur proxy pour attaquer et tester les applications Web ") pour cela. Vous pouvez également utiliser Fiddler (" un proxy de débogage HTTP ").

Utilisez http://www.proxomitron.info et configurez l'en-tête souhaité, etc.

Plutôt que d'utiliser un proxy, j'utilise le plugin Firefox "Modifier les en-têtes" pour insérer des en-têtes (dans mon cas, simuler une connexion à l'aide de l'authentification unique pour pouvoir tester différentes personnes).

Si vous avez Ruby sur votre système, pourquoi ne pas utiliser un petit proxy Ruby utilisant Sinatra (veillez à installer le Gem Sinatra). Cela devrait être plus facile que de configurer Apache. Le code peut être trouvé ici.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top