如何使用具有特定HTTP引用和查询字符串的WatiN来模拟http请求?

当我使用WatiN转到特定网页时,如何使用查询字符串伪造HTTP引用者 (即请求来自谷歌搜索,查询字符串q = search_term)? 因此,我可以validation响应标头是否具有针对特定引荐来源url的301重定向。

我可能需要使用FiddlerCore来扮演中间人来设置自定义引荐来源,但我还不确定如何做到这一点。

我在C#中使用ASP.NET。

谢谢!

//WatiN Browser.GoTo(url); 

我需要做类似下面的事情:

 // session is a custom version of FiddlerCore.Fiddler // details about BeforeRequest -> http://fiddler.wikidot.com/fiddlercore-demo session.BeforeRequest += sess => sess.oRequest .headers .Add( "Referer", "http://www.i-am-middle-man.com/q=black" ); session.BeforeResponse += sess => { //sess.oResponse.headers.HTTPResponseCode //sess.oResponse.headers["Host"] }; var handler = WatiNHandler(BrowserTypes.IE); handler.GoTo("http://www.my-url.com/"); 

我可能会忽略你想要做的事情,但我不认为WatiN有能力伪造推荐者。

WatiN驱动真正的浏览器,所以它不是伪造东西的工作。 如果您希望页面具有特定的引荐来源,那么您需要从该引用者链接它。

正如你的建议,Fiddler更适合这类事情。 如果您愿意,可以使用自定义规则动态修改请求,以便引用者可以随意使用。 你不需要使用Fiddlercore。 将Fiddler作为客户端代理运行,或者作为反向代理运行在您的服务器上可能就足够了。