gpt4 book ai didi

c# - 如何使用 Selenium C# PhantomJSDriver 设置 http referer header ?

转载 作者:行者123 更新时间:2023-11-30 19:56:26 26 4
gpt4 key购买 nike

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

我将 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 请求中注入(inject) HTTP Referer?

最佳答案

回答我自己的问题。

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

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

设置 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)

希望这对某人有帮助。

关于c# - 如何使用 Selenium C# PhantomJSDriver 设置 http referer header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33850414/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com