【发布时间】:2017-05-24 08:49:17
【问题描述】:
我正在使用此代码检查代理服务器,然后再执行任何其他操作。当连接正常时,我有一个file_get_contents 线连接到一个网站。
$host = '123.45.678.90';
$port = 80;
$waitTimeoutInSeconds = 1;
if($fp = fsockopen($host,$port,$errCode,$errStr,$waitTimeoutInSeconds)){
$aContext = array(
'http' => array(
'proxy' => 'tcp://123.45.678.90:80',
'request_fulluri' => true,
),
);
$cxContext = stream_context_create($aContext);
// connect to website using a proxy server
$file_content = file_get_contents('https://www.anything.com', False, $cxContext);
} else {
// It didn't work
}
fclose($fp);
虽然代理连接成功,但我看到:警告 Cannot connect to HTTPS server through proxy?有没有机会有一个 if/else 语句,如果没有警告,我可以做某事,如果有警告,我可以停止做某事?我已经查看并搜索了很多,但没有找到任何我可以尝试的东西。
感谢您的帮助!
【问题讨论】:
-
phpinfo();显示了什么 OpenSSL 版本? -
它向我展示了 OpenSSL/1.0.1t
-
你在windows上运行吗?
-
不,我使用的是 Mac。
-
您的 OpenSSl 版本似乎过时了,可能是问题的根源,请尝试更新它,apple.stackexchange.com/a/126832
标签: php if-statement proxy