【发布时间】:2015-10-06 08:32:35
【问题描述】:
我无法从 php curl localhost,但任何其他外部主机都可以正常工作。
我在 cmd 中尝试过“curl localhost”——它也没有用,但是忽略 localhost “curl -v --noproxy localhost”的代理——可以。
这个在 php 中的等价物是什么?
【问题讨论】:
我无法从 php curl localhost,但任何其他外部主机都可以正常工作。
我在 cmd 中尝试过“curl localhost”——它也没有用,但是忽略 localhost “curl -v --noproxy localhost”的代理——可以。
这个在 php 中的等价物是什么?
【问题讨论】:
您可以尝试将代理设置为空字符串:
curl_setopt($ch, CURLOPT_PROXY, '');
另一种可能性是向您的环境变量“no_proxy”添加代理异常,但我不能 100% 确定它是否会影响 PHP:
set no_proxy=127.0.0.1
【讨论】:
curl_setopt($ch, CURLOPT_PROXY, ''); 为我工作,谢谢。
我也遇到了同样的问题。我在一家位于代理后面的公司工作,因此我们需要在进行出站呼叫时为 curl 呼叫添加代理。但是,对于本地托管的网站,curl 调用失败了。
对我有用的是这个(CURLOPT_NOPROXY does not affect in PHP 是提供链接的问题的更新部分):
curl_setopt($curl, CURLOPT_NOPROXY, 'your-sitename-on-localhost');
当它与 URL 中的站点名称匹配时,这将跳过代理。
以前我收到 503,现在它在我的本地主机上返回正确的 200 状态代码。
【讨论】:
curl_setopt_array(),但这不起作用。这必须在 curl_init() 调用之后和 curl_exec() 之前添加,仅使用 curl_setopt() 方法。我仍然不知道为什么会这样,但如果我找到答案会在这里更新。