【发布时间】:2014-04-06 10:38:55
【问题描述】:
我需要从使用 https 协议(即https://site.com/page)的服务器上的网页获取数据。这是我一直在使用的 PHP 代码:
$POSTData = array('');
$context = stream_context_create(array(
'http' => array(
//'ignore_errors' => true,
'user_agent' => "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36",
'header' => "User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en) AppleWebKit/522.11.1 (KHTML, like Gecko) Version/3.0.3 Safari/522.12.1",
'request_fulluri' => true,
'method' => 'POST',
'content' => http_build_query($POSTData),
)
));
$pageHTML = file_get_contents("https://site.com/page", FALSE, $context);
echo $pageHTML;
但是,这似乎不起作用,发出警告:file_get_contents 没有关于错误的信息。可能是什么情况,如何解决它以连接到服务器并获取页面?
编辑:感谢所有回答的人,我的问题是我使用的是 HTTP 代理,我从代码中删除了它,以免让您感到困惑,因为我认为这不可能是问题所在。为了让代码通过 HTTP 代理加载 HTTPS 页面,我修改了我使用的 stream_context_create,如下所示:
stream_context_create(array(
'https' => array(
//...etc
【问题讨论】:
-
错误信息的具体内容是什么?
标签: php https file-get-contents