我正在使用一个非常简单的PHP脚本来检索网页的文本内容;
$homepage = file_get_contents('http://192.168.1.125:6547/quickstatus');
echo $homepage;
但是这个指令在https上不起作用,我没有curl的支持(我正在使用php编译器),有没有办法在没有curl的情况下检索使用https的页面的内容?
我正在使用一个非常简单的PHP脚本来检索网页的文本内容;
$homepage = file_get_contents('http://192.168.1.125:6547/quickstatus');
echo $homepage;
我认为,如果使用 file_get_contents
函数无法处理 https 地址,那么你的 PHP 安装中可能没有安装 openssl
扩展。这就是为什么 curl
和其他解决方案也不可行的原因。
file_get_contents()
函数只有在PHP编译时包含openssl支持时才能正常工作。如果你的安装不包括它,可以重新编译(或重新安装二进制版本的)PHP。
请注意来自手册的以下警告:
当使用SSL时,Microsoft IIS会违反协议,在不发送关闭指示器的情况下关闭连接。当数据结束时,PHP将报告此错误为“SSL:致命协议错误”。为了解决这个问题,应该将error_reporting的值降低到不包括警告的级别。PHP 4.3.7及更高版本可以在使用https://封装器打开流时检测到有缺陷的IIS服务器软件,并抑制警告。当使用fsockopen()创建ssl://套接字时,开发人员负责检测和抑制此警告。
如果您正在尝试连接运行IIS的服务器,则可能也是解决方案之一。