我正在使用Symfony HttpClient组件,所以有必要通过代理来使用它。使用端口打开代理,实例化CurlHttpClient类时可以很容易地配置为默认配置,但不能设置私有代理的用户名和密码
默认配置示例:
use Symfony\Component\HttpClient\CurlHttpClient;
$httpClient = new CurlHttpClient([
'http_version' => '2.0',
'proxy' => 'x.xx.xxx.xxx:8000',
]);
我尝试在额外的选项上添加额外的配置,并尝试其他组合,但找不到正确的方法。
使用普通的PHP和cURL,一切都可以正常工作。
请帮助我,使用私有代理配置Symfony HttpClient组件。
发布于 2019-06-06 18:47:39
您需要指定协议(例如socks5
、socks4
等)
use Symfony\Component\HttpClient\CurlHttpClient;
$httpClient = new CurlHttpClient([
'http_version' => '2.0',
'proxy' => 'socks5://username:password@127.0.0.1:9999',
]);
dump($httpClient->request('GET', 'https://api.ipify.org?format=json')->getContent());
发布于 2019-06-06 21:14:57
我找到了解决方案,代理的数据应该以以下格式指定:
$httpClient = new CurlHttpClient([
'http_version' => '2.0',
'proxy' => 'user:password@ip:port',
]);
它很好
https://stackoverflow.com/questions/56462837
复制相似问题