所以,我是使用API和PHP的新手,所以请耐心等待。 我正在尝试点击 API 以通过 GET 参数对站点进行身份验证(如 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) ""
对我做错了什么有什么想法吗?
尝试执行以下操作:
$token = str_replace("<", "<", $token);
$token = str_replace(">", ">", $token);
vd($token);
发生这种情况是因为您的浏览器将您正在读取的 XML 解释为 HTML,并将 XML 读取为标记。(你可以说字符串不为空,因为vd
,我假设它是var_dump
的别名,告诉你字符串的长度是116
。将<
和>
替换为其有效的 HTML 实体应该可以解决这个问题。
假设 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);
?>