设置HTTP代理以插入标头
时间:2020-03-06 14:56:26 来源:igfitidea点击:
我需要测试与我不想修改的客户端的一些HTTP交互。我需要测试的是客户端请求中包含某个静态标头时服务器的行为。
我认为运行此测试的最简单方法是设置一个HTTP代理,该代理将在每个请求上插入标头。进行此设置的最简单方法是什么?
解决方案
我会尝试tinyproxy。实际上,最好的办法是在其中嵌入脚本语言……对于Lua来说,这似乎是一项完美的工作,尤其是在看到它对mysqlproxy的工作情况之后
我有一些同事为此使用了Burp("用于攻击和测试Web应用程序的交互式HTTP / S代理服务器")。我们也许还可以使用Fiddler(" HTTP调试代理")。
使用http://www.proxomitron.info并设置所需的标题等。
我在开发环境中通过将端口80上的Apache配置为端口8080上的应用程序服务器的代理,并使用以下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>
请参阅LocationMatch和RequestHeader文档。
这会将标头myheader:myvalue添加到前往应用程序服务器的请求。
我们还可以安装非常容易安装的Fiddler(http://www.fiddler2.com/fiddler2/)(例如,比Apache更容易安装)。
启动后,它将自己注册为系统代理。然后打开"规则"菜单,然后选择"自定义规则..."以打开一个JScript文件,该文件可让我们自定义请求。
要添加自定义标头,只需在OnBeforeRequest函数中添加一行:
oSession.oRequest.headers.Add("MyHeader", "MyValue");