使用 C# 和 Selenium 进行 Crawlera/Zyte 代理身份验证

问题描述

我尝试了多种将 Zyte(以前称为 Crawerla)代理与 Selenium 结合使用的方法

他们提供 1- API 密钥(用户名) 2- 代理网址/端口。

不需要密码

我尝试过的...

    ChromeOptions options = new ChromeOptions();
    var proxy = new Proxy();
    proxy.Kind = ProxyKind.Manual;
    proxy.IsAutoDetect = false;
    proxy.socksUserName = "<<API KEY>>";
    proxy.socksPassword = "";
    proxy.HttpProxy =
    proxy.SslProxy = "proxy.crawlera.com:8011";
    options.Proxy = proxy;
    IWebDriver driver = new ChromeDriver(options);

其中,当 selenium 加载时会产生这个:

enter image description here

有趣的是,如果我手动添加用户名(API 密钥),它确实会加载,但这违背了自动化的目的。

我尝试的第二种方法是:

    ChromeOptions options = new ChromeOptions();
    options.AddArguments("--proxy-server=<API KEY>::proxy.crawlera.com:8011");
    options.AddArguments("--log-level=OFF");
    IWebDriver driver = new ChromeDriver(options);

我使用了 ::,因为密码为空。

这个方法错误是:

[46784:44492:0219/015119.757:ERROR:validation_errors.cc(87)] 无效 消息:VALIDATION_ERROR_DESERIALIZATION_Failed

我想 Zyte/Crawerla 知识并不是真正需要的,更多的是如何为 selenium 提供用户名但没有密码,并让它成功使用代理。

有人知道吗? (示例赞赏)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)