【问题标题】:How to set the http referer header with Selenium C# PhantomJSDriver?如何使用 Selenium C# PhantomJSDriver 设置 http 引用标头?
【发布时间】:2015-11-22 00:49:06
【问题描述】:

在 C# 控制台应用程序中使用 Selenium C# PhantomJSDriver 时如何设置 http referer 标头?

我将 PhantomJSDriver 与我无法控制的代理一起使用。

PhantomJSDriverService service = PhantomJSDriverService.CreateDefaultService();
service.AddArgument("--proxy=123.456.78.910:80");
service.AddArgument("--proxy-auth=myproxyuid:myproxypwd");
IWebDriver driver = new PhantomJSDriver(service);
driver.Navigate().GoToUrl("http://www.testsite.com/product/123/");

但是,正在测试的 Web 应用程序对请求中的 HTTP Referer 值执行验证。

我可以使用什么方法在 PhantomJSDriver 请求中注入 HTTP Referer?

【问题讨论】:

  • 我也有同样的问题

标签: c# selenium proxy phantomjs http-referer


【解决方案1】:

回答我自己的问题。

我发现了如何使用 C# PhantomJSDriver 设置/注入/伪造 HTTP Referer。

事实证明,添加自定义标题也会设置/覆盖标准标题。

设置 HTTP Referer 与设置用户代理的方式非常相似。

使用 PhantomJSOptions 设置 HTTP Referer。

注意:我使用 PhantomJSDriverService 以及 PhantomJSOptions 来创建驱动程序的实例,以便将命令行参数发送到 phantomjs.exe 以指定我的代理设置等。

这是对我有用的代码:

PhantomJSDriverService service = PhantomJSDriverService.CreateDefaultService();
service.AddArgument("--proxy=123.456.78.910:8181");
service.AddArgument("--load-images=false");

var options = new PhantomJSOptions();
options.AddAdditionalCapability("phantomjs.page.settings.userAgent", "myagent/blah.blah");
options.AddAdditionalCapability("phantomjs.page.customHeaders.Referer", "https://www.google.com/");

IWebDriver driver = new PhantomJSDriver(service,options)

希望这对某人有所帮助。

【讨论】:

  • 太好了,谢谢,你做到了。
猜你喜欢
  • 1970-01-01
  • 2021-06-29
  • 2016-03-22
  • 2018-12-17
  • 2017-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多