使用SimpleXML和PHP通过https获取XML内容的问题

时间:2012-08-09 12:33:52

标签: php xml simplexml

  

可能重复:
  How to enable HTTPS stream wrappers

我正在使用简单的XML来从API获取内容。通常我没有问题,但现在URL是HTTPS它似乎不起作用。反正有吗?

示例XML(网址):

<?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);

1 个答案:

答案 0 :(得分:0)

您正在使用www.casapilot.com网站的XML API。

API是通过HTTPS,一个示例URI是:

https://www.casapilot.com/api/1/accommodations/calendar.xml?auth_token=hyXHjP8QdrRuX8q3FsbC&id=1049165

要使HTTP工作,PHP需要openssl扩展。相关信息在相关Stream Wrapper Page

上提供
  

注意:只有在启用openssl扩展程序时才支持HTTPS。

然后,对于以https://开头的所有URI,将openssl扩展名透明地用于所有HTTPS“文件”。

请参阅重复的问题: