Squid代理返回HTTP与HTTPS的不同错误消息

时间:2016-04-25 00:31:30

标签: php curl https proxy

我在Windows 7 Pro 64位笔记本电脑上使用PHP 5.3.13和cURL扩展7.25.0。我使用PHP和cURL连接到上游Squid v3.3.10代理服务器。我正在使用基本身份验证对代理进行身份验证。

我遇到的问题是,当我尝试连接到HTTP URL而不是HTTP S URL <时,我从PHP curl_error($ ch)函数中获得了不同的错误消息strong>通过代理。当我故意使用HTTP URL将错误的身份验证凭据发送到代理时,我从PHP curl_error($ ch)函数收到的错误消息是:

the requested URL returned error: 407

当我使用错误凭据向HTTP S URL发送相同请求时,我从PHP curl_error($ ch)函数收到以下消息:

http response code said error

HTTP URL响应是我所期望的,这意味着它返回HTTP错误代码(407因为凭据错误)。但HTTP S URL错误消息根本不会返回任何HTTP代码。我试图理解为什么会发生这种情况,以便我可以在我的项目的错误处理程序中考虑这些不同的响应。有人有这个问题的经验吗?这是Squid代理HTTPS身份验证配置问题吗?

任何帮助将不胜感激!

- Bill Vallance

1 个答案:

答案 0 :(得分:0)

我偶然发现了这个问题的答案。当我将WampServer 2.2E开发环境中的PHP从5.3.13升级到5.4.45时,我发现PHP 5.4.45没有返回http response code said error消息。它不会返回任何内容,这是我预计在涉及HTTPS错误时会发生的事情。错误消息由PHP 5.3.13生成,但不是PHP 5.4.45。