首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Symfony HttpClient组件的CurlHttpClient中添加带IP/端口和用户名/密码的代理?

如何在Symfony HttpClient组件的CurlHttpClient中添加带IP/端口和用户名/密码的代理?
EN

Stack Overflow用户
提问于 2019-06-05 22:43:38
回答 2查看 2.4K关注 0票数 1

我正在使用Symfony HttpClient组件,所以有必要通过代理来使用它。使用端口打开代理,实例化CurlHttpClient类时可以很容易地配置为默认配置,但不能设置私有代理的用户名和密码

默认配置示例:

代码语言:javascript
运行
复制
use Symfony\Component\HttpClient\CurlHttpClient;

$httpClient = new CurlHttpClient([
    'http_version' => '2.0',
    'proxy' => 'x.xx.xxx.xxx:8000',
]);

我尝试在额外的选项上添加额外的配置,并尝试其他组合,但找不到正确的方法。

使用普通的PHP和cURL,一切都可以正常工作。

请帮助我,使用私有代理配置Symfony HttpClient组件。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-06 18:47:39

您需要指定协议(例如socks5socks4等)

代码语言:javascript
运行
复制
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());
票数 2
EN

Stack Overflow用户

发布于 2019-06-06 21:14:57

我找到了解决方案,代理的数据应该以以下格式指定:

代码语言:javascript
运行
复制
$httpClient = new CurlHttpClient([
    'http_version' => '2.0',
    'proxy' => 'user:password@ip:port',
]);

它很好

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56462837

复制
相关文章

相似问题

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