如何使用 symfony/panther 设置代理服务器

ahm*_*eed 6 php proxy web-scraping symfony-panther

我发现有两种设置代理服务器的方法,一种是通过 chrome web 驱动程序功能,另一种是在创建 chrome 客户端时直接设置

$this->client = Client::createChromeClient(null, [
            '--proxy-server=socks://196.14.52.63:35048',
            '--headless',
            "--disable-gpu",
]);
Run Code Online (Sandbox Code Playgroud)

但在设置代理 IP 和端口后,我收到以下错误:

Curl error thrown for http POST to /session/cce06908d68a1e96bc6d1cb3b798aa14/url with params: {"url":"https:\/\/some-site\/login"}\n
Operation timed out after 30001 milliseconds with 0 bytes received
Run Code Online (Sandbox Code Playgroud)

基本上我想在使用Symfony panther抓取数据时使用代理服务器。

ahm*_*eed 5

我通过传递以下配置使其工作。

$this->client = Client::createChromeClient(null, [
            '--window-size=1200,1100',
            "--proxy-server=http://ip:port",
            '--headless',
            "--disable-gpu",
]);
Run Code Online (Sandbox Code Playgroud)

我认为我以前使用的代理服务器不支持 https(我试图访问 https 页面)并且我也缺少 windows-size 参数。