【发布时间】:2018-07-18 23:25:56
【问题描述】:
我正在尝试在我的网站上集成一个 API,它要求我发布一个以 base64 编码的授权字段。但是,这是说我做得不对。我想知道是不是因为我没有正确发布该字段。这是我到目前为止所做的。
$pro = '00000000000';
$host = 'http://www.saiasecure.com/irsec/getimginfo1.aspx?refNumber='.$pro;
$authorization = 'username : password';
$authorization = base64_encode($authorization);
$post = array(
'Authorization' => $authorization
);
$ch = curl_init($host);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$return = curl_exec($ch);
curl_close($ch);
$xml = new SimpleXMLElement($return);
try
{
print_r($xml);
} catch(SoapFault $ex){
$ex->getMessage();
echo $ex;
}
这些是开发者提供的 API 说明。
这是我从 API 得到的响应:
有人知道我做错了什么吗?快把我逼疯了!
【问题讨论】:
-
身份验证有问题,请交叉检查您的用户名和密码。
-
您可能不应该在用户名和密码之间留有空格。
-
试试:
$authorization = 'username:password';