我需要测试一些与客户端的HTTP交互,而不是修改.我需要测试的是当客户端的请求包含某个静态头时服务器的行为.
我认为运行此测试的最简单方法是设置一个HTTP代理,在每个请求上插入标头.设置它的最简单方法是什么?
我在开发环境中做了类似的事情,在端口80上将Apache配置为端口8080上的应用服务器的代理,具有以下Apache配置:
NameVirtualHost *Allow from all 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和RequestHeader文档.
这会将标头myheader:myvalue添加到发送到应用程序服务器的请求中.
您也可以安装Fiddler(http://www.fiddler2.com/fiddler2/),它非常易于安装(比Apache更容易).
启动后,它会将自己注册为系统代理.然后打开"规则"菜单,选择"自定义规则..."以打开允许您自定义请求的JScript文件.
要添加自定义标题,只需在OnBeforeRequest
函数中添加一行:
oSession.oRequest.headers.Add("MyHeader", "MyValue");