Domanda

Devo testare alcune interazioni HTTP con un client che preferirei non modificare. Quello che devo testare è il comportamento del server quando le richieste del client includono una determinata intestazione statica.

Sto pensando che il modo più semplice per eseguire questo test sia impostare un proxy HTTP che inserisca l'intestazione su ogni richiesta. Quale sarebbe il modo più semplice per configurarlo?

È stato utile?

Soluzione

Faccio qualcosa del genere nel mio ambiente di sviluppo configurando Apache sulla porta 80 come proxy per il mio server delle applicazioni sulla porta 8080, con la seguente configurazione di Apache:

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>

Vedi LocationMatch e RequestHeader documentazione.

Questo aggiunge l'intestazione myheader: myvalue alle richieste che vanno al server delle applicazioni.

Altri suggerimenti

Puoi anche installare Fiddler ( http://www.fiddler2.com/fiddler2/ ) che è molto facile da installare (più facile di Apache per esempio).

Dopo averlo avviato, si registrerà come proxy di sistema. Quindi apri le " Regole " menu e scegli " Personalizza regole ... " per aprire un file JScript che consente di personalizzare le richieste.

Per aggiungere un'intestazione personalizzata, basta aggiungere una riga nella funzione OnBeforeRequest :

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

Proverei tinyproxy . in effetti, la cosa migliore sarebbe incorporare un linguaggio di scripting lì ... sembra un lavoro perfetto per Lua , soprattutto dopo aver visto quanto ha funzionato per mysqlproxy

Ho avuto colleghi che hanno utilizzato Burp (" un HTTP / S interattivo server proxy per attaccare e testare applicazioni web ") per questo. Potresti anche essere in grado di utilizzare Fiddler (" un proxy di debug HTTP ").

Utilizza http://www.proxomitron.info e imposta l'intestazione desiderata, ecc.

Anziché utilizzare un proxy, sto usando il plug-in di Firefox " Modifica le intestazioni " per inserire le intestazioni (nel mio caso, falsificare un accesso usando il Single Sign On in modo da poter testare come persone diverse).

Se hai un rubino sul tuo sistema, che ne dici di un piccolo proxy Ruby che usa Sinatra (assicurati di installare la gemma Sinatra). Questo dovrebbe essere più semplice della configurazione di apache. Il codice è reperibile qui.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top