首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于C#和Selenium的Crawlera/Zyte代理认证

基于C#和Selenium的Crawlera/Zyte代理认证
EN

Stack Overflow用户
提问于 2021-02-19 01:55:43
回答 1查看 402关注 0票数 1

我已经尝试过用Selenium使用Zyte (正式的Crawerla)代理的许多方法。

它们提供了1-API密钥(用户名) 2-代理url/端口。

不需要密码。

我试过的..。

代码语言:javascript
复制
    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负载产生以下内容时:

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

我尝试的第二个方法是:

代码语言:javascript
复制
    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提供用户名,但没有密码,并让它成功地使用代理。

有人知道吗?(赞赏的例子)

EN

回答 1

Stack Overflow用户

发布于 2022-02-25 08:42:26

当使用无头浏览器时,您可以使用这个Crawlera-无头代理https://github.com/zytedata/zyte-smartproxy-headless-proxy。这将充当一个MITM代理,并将处理SPM的身份验证。因此,您不需要在C# Selenium脚本中提到Crawlera/SmartProxyManager身份验证。

Crawlera无头代理可以用作像下面这样的独立二进制文件。

代码语言:javascript
复制
crawlera-headless-proxy -c config.toml

您可以在config.toml文件中提到API键、端口号和其他信任项。

它将在本地主机3128启动MITM服务器。在您的C#中,您需要提到代理主机/端口应该是localhost/127.0.0.1,端口应该是3128。

来自您的C#无头脚本的请求需要发送到Crawlera-无头代理,然后Crawlera-无头代理将将请求发送到SmartProxyManager/Crawlera。

因此,对于ex来说,代码可能如下所示:

代码语言:javascript
复制
ChromeOptions options = new ChromeOptions();
var proxy = new Proxy();
proxy.Kind = ProxyKind.Manual;
proxy.IsAutoDetect = false;
proxy.HttpProxy =
proxy.SslProxy = "127.0.0.1:3128";
options.Proxy = proxy;
IWebDriver driver = new ChromeDriver(options);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66270733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档