当我使用 WatiN 转到特定网页时,如何使用查询字符串伪造HTTP引荐来源(即请求来自带有查询字符串的Google搜索q = SEARCH_TERM)?因此,我可以验证响应标头是否具有针对特定引荐来源网址的301重定向。
我可能需要使用FiddlerCore像中间人一样设置自定义引荐来源,但我不知道该如何做到这一点。
我正在使用带有C#的ASP.NET。
谢谢!
//WatiN
Browser.GoTo(url);
答案 0 :(得分:1)
我需要做类似下面的事情:
// 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/");
答案 1 :(得分:0)
我可能会忽略你想要做的事情,但我不认为WatiN有能力伪造推荐人。
WatiN驱动真正的浏览器,所以它不是伪造东西的工作。如果您希望页面具有特定的引荐来源,那么您需要从该引用者链接它。
正如你的建议,Fiddler更适合这类事情。如果您愿意,可以使用自定义规则动态修改请求,以便引用者可以随意使用。你不需要使用Fiddlercore。将Fiddler作为客户端代理运行,或者作为反向代理运行在您的服务器上可能就足够了。