所以,我刚开始使用API和PHP,所以请耐心等待。我正试图通过GET参数(如API文档中的建议)访问API以对网站进行身份验证。我正在尝试使用file_get_contents()来返回它返回的身份验证令牌。重定向到URL会以XML格式输出令牌。
但是,当我执行以下操作时,它会返回一个空字符串。如何返回完整的XML输出?
$token = file_get_contents('http://example.com/api.asp?cmd=logon&email=xxx@something.com&password=s0mep@SSword');
var_dump($token);
我得到以下输出:
string(116) ""
关于我做错了什么的想法?
答案 0 :(得分:1)
尝试做:
$token = str_replace("<", "<", $token);
$token = str_replace(">", ">", $token);
vd($token);
这是因为您的浏览器正在将您正在阅读的XML解释为HTML并将XML作为标记读取。 (你可以告诉字符串不是空的因为vd
,我假设它是var_dump
的别名,告诉你字符串的长度为116
。)替换<
和>
及其有效的HTML实体应该解决这个问题。
答案 1 :(得分:0)
假设API返回XML,您可以使用PHP中的SimpleXML直接解析文件:
<?php
$token = simplexml_load_file('http://example.com/api.asp?cmd=logon&email=xxx@something.com&password=s0mep@SSword');
vd($token);
?>