通过https问题越来越XML内容使用SimpleXML和PHP
问题描述:
可能重复:
How to enable HTTPS stream wrappers通过https问题越来越XML内容使用SimpleXML和PHP
我用简单的XML获得来自API的内容。通常我没有问题,但现在URL是HTTPS,它似乎不起作用。有没有办法解决?
示例XML(URL):
<?xml version="1.0"?>
<calendars>
<calendar accommodation_id="1049165">
<day date="2012-08-09" vacancy="false" minimum_nights="7" arrival_day="true"/>
<day date="2012-08-10" vacancy="false" minimum_nights="3" arrival_day="true"/>
<day date="2012-08-11" vacancy="false" minimum_nights="3" arrival_day="true"/>
<!-- ... -->
<day date="2014-01-31" vacancy="true" minimum_nights="3" arrival_day="true"/>
</calendar>
</calendars>
示例代码:
$xml2 = file_get_contents('');
$availability = new SimpleXMLElement($xml2);
答
您使用的是www.casapilot.com
网站的XML API。
API是通过HTTPS,一个示例URI是:
https://www.casapilot.com/api/1/accommodations/calendar.xml?auth_token=hyXHjP8QdrRuX8q3FsbC&id=1049165
对于HTTPS工作,PHP需要OpenSSL的扩展。给出的信息对相关Stream Wrapper Page:
注:启用HTTPS OpenSSL的扩展名时,才支持。
OpenSSL的扩展将用于所有HTTPS“文件”透明与流包装器开始https://
所有URI。
见以及重复的问题:
使用HTTPS无关用SimpleXML - 这完全取决于你的服务器及其配置。做'var_dump($ xml2);' - 如果没有什么东西,那么你需要另一种检索内容的方法,而不是'file_get_contents()'。 – nickb 2012-08-09 12:39:13
根据[本页](http://php.net/manual/en/wrappers.http.php#refsect1-wrappers.http-notes),您需要启用openssl。你有它启用? – 2012-08-09 14:11:56
请不要重复提问(例如:http://*.com/q/11885169/367456) - 改为编辑此问题以改进它。 – hakre 2012-08-09 16:05:36