如何在PHP中访问密码投射的RESTful API(我知道密码)

如何在PHP中访问密码投射的RESTful API(我知道密码),php,rest,Php,Rest,例如,这里有一个URL:--如果我在浏览器中访问该URL,输入正确的用户名/密码,它会向我吐出XML。问题是我需要通过PHP访问它,所以我显然不会得到输入用户名/密码的提示 目前的代码是: $timeframes_xml = simplexml_load_file(file_get_contents('https://rexms.net:32005/rexwapi/common/timeframes')); 我认为你可以简单地使用 https://username:password@rexms

例如,这里有一个URL:--如果我在浏览器中访问该URL,输入正确的用户名/密码,它会向我吐出XML。问题是我需要通过PHP访问它,所以我显然不会得到输入用户名/密码的提示

目前的代码是:

$timeframes_xml = simplexml_load_file(file_get_contents('https://rexms.net:32005/rexwapi/common/timeframes'));

我认为你可以简单地使用

https://username:password@rexms.net:32005/rexwapi/common/timeframes

您需要使用with设置
CURLOPT_USERPWD
选项。

最好使用三个PEAR包:HTTP/Socket/Net。使用HTTP包,您可以轻松地向基本身份验证领域发出REST请求


有关更多信息,请查看:

您需要设置Http头授权。将该值设置为的base64编码版本

Basic username:password
这是假设服务器正在使用基本身份验证。在Windows上,您可以使用Fiddler查看服务器请求的身份验证类型。

找到了我的答案


这似乎不一致。我是用PHP做的,它没有返回结果,当我在MSIE Buuut中尝试的时候也是一样,当我在Google Chrome中尝试的时候,它确实起作用了,有什么想法可能导致这种情况吗?IE禁用了它,因为它的实现存在安全缺陷。PHP解析数据并将其设置为所需:)我尝试了几种方法,但似乎无法获得结果,是否有人可以编写代码示例?
function get_rex_xml($url)
{
    $curl = curl_init($url);
    curl_setopt_array($curl, array(CURLOPT_RETURNTRANSFER => TRUE,CURLOPT_USERPWD => 'username:password'));
    ob_start();
    $response_xml = curl_exec($curl);
    ob_end_clean();
    curl_close($curl);
    return $response_xml;
}

header('content-type:text/xml');
echo get_rex_xml('https://rexms.net:32005/rexwapi/common/timeframes');