需要将我当前的php curl代码重写为基本身份验证

时间:2019-06-26 22:22:33

标签: php http authentication curl

我进行api调用的公司将那里的身份验证更改为基本身份验证。这里是有关此问题的api文档:

您的合作伙伴代码是“ apiuser”,密钥是“ apipass”。

用户名是“ apiuser”。 密码是“ apipass”。 基本身份验证字符串为Base64(“ apiuser:apipass”)=“ YXBpdXNlcjphcGlwYXNz =”。 身份验证标头为“授权:基本YXBpdXNlcjphcGlwYXNz =“。

我当前的代码什么都不做,所以我不知道我在做什么错?

$apiuser = "apiuser";
$apipass = "apipass";
$username = $apiuser.'-'.time();
$password = hash_hmac('sha1', $username, $apipass);
$basic_auth = base64_encode($username.":".$password);
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Accept:application/json", "Authorization: Basic $basic_auth"));
curl_setopt($ch, CURLOPT_URL, 'http://examppleurl.com/api/v2/places?holiday_type='.$hotel_types_name.'&currency=EUR&checkin='.date('Y-m-d', strtotime("+1 days")).'&checkout='.date('Y-m-d', strtotime("+1 days")).'&groups[]=1');//&groups[]=2,10,12&location=Turkey
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$result = curl_exec($ch);
curl_close($ch);
$obj = json_decode($result);

0 个答案:

没有答案