gpt4 book ai didi

php - Guzzle 使用代理

转载 作者:搜寻专家 更新时间:2023-10-31 21:00:17 25 4
gpt4 key购买 nike

引用资料:

http://docs.guzzlephp.org/en/stable/request-options.html#proxy

Set proxy in Guzzle

环境:

GuzzleHttp/6.2.1 
curl/7.47.0
PHP/7.1.3-3+deb.sury.org~xenial+1

我正在尝试将代理服务器与异步 Guzzle 调用结合使用。

我发现,当我在创建客户端时设置代理时,它起作用了。

例如

new Client(['proxy' => 'tcp://64.140.159.209:80'])

然而,当创建一个没有选项的客户端时......然后在请求上设置代理,根本不使用代理,并且 guzzle 直接从客户端机器连接到服务器机器。这可以通过点击 http://httpbin.org/ip 来确认。并检查 httpbin 返回的 Origin。

我需要能够为每个请求设置代理。

相关代码如下:

$client = new Client();

$request = new Request(
'GET',
'http://httpbin.org/ip',
['proxy' => 'tcp://64.140.159.209:80']
);

$client->sendAsync($request)
->then(
...closure here
// process here
);

最佳答案

希望这对某人有所帮助。

文档http://docs.guzzlephp.org/en/stable/request-options.html#proxy仅列出从客户端创建新请求。

这意味着我理解错了用法。我直接创建新请求并传递带有代理信息的第三个参数,期望在单个客户端中根据请求更改该信息。看起来代理是基于每个客户端设置的,即使您正在进行异步调用也是如此。

因此我不得不修改我的应用程序以针对每个异步请求使用一个新的客户端。

关于php - Guzzle 使用代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44598464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com