使用 file_get_contents() 获取所有内容
我正在尝试使用 file_get_contents() 检索包含 XML 数据的网页。
$get_url_report = 'https://...'; // GET URL
$str = file_get_contents($get_url_report);
问题在于 file_get_contents 仅获取页面的安全内容,并且仅返回一些没有 XML 的字符串。在 Windows IE 中,如果我输入 $get_url_report,如果我想显示所有内容,它会发出警告。如果我单击“是”,则会显示 XML,这就是我想要存储在 $str 中的内容。关于如何从网页 $get_url_report 将 XML 数据检索到字符串中,有什么想法吗?
I'm trying to retrieve an webpage that has XML data using file_get_contents().
$get_url_report = 'https://...'; // GET URL
$str = file_get_contents($get_url_report);
The problem is that file_get_contents gets only the secure content of the page and returns only some strings without the XML. In Windows IE, if I type in $get_url_report, it would warn it if I want to display everything. If I click yes, then it shows me the XML, which is what I want to store in $str. Any ideas on how to retrieve the XML data into a string from the webpage $get_url_report?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果 URL 正确,您应该已经获得纯 XML。如果您遇到问题,可能是该 URL 要求您登录或类似的情况。使用 var_dump($str),然后查看该页面上的源代码以查看返回的内容。
不管怎样,没有什么神奇的方法可以从 XML 中获取任何链接的内容。您将得到的只是 XML 本身,并且需要进一步的 PHP 代码来处理并从中获取任何链接/图像/数据。
You should already be getting the pure XML if the URL is correct. If you're having trouble, perhaps the URL is expecting you to be logged in or something similar. Use a var_dump($str) and then view source on that page to see what you get back.
Either way, there is no magic way to get any linked content from the XML. All you would get is the XML itself and would need further PHP code to process and get any links/images/data from it.
验证 openssl 是否在您的 php 上启用,这是如何执行此操作的一个很好的示例:
如何让 file_get_contents() 使用 HTTPS?
Verify if openssl is enable on your php, a good exemple of how to do it:
How to get file_get_contents() to work with HTTPS?