PHP卷曲与用户名/密码的标志

时间:2015-04-07 20:35:08

标签: php curl

我试图使用PHP向desk.com api发出一个简单的curl请求但是无法获得响应。以下是他们的文档。

$ curl https://yoursite.desk.com/api/v2/cases/:id \
-u email:password \
-H 'Accept: application/json'

这是我的PHP尝试完成上述

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://url.desk.com/api/v2/cases -u email:password");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 'Accept: application/json');

$output = curl_exec($ch);
var_dump($output);

curl_close($ch);

我之前几乎没有使用过卷曲,所以对于为什么我没有得到回复的任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:1)

您是否尝试过发送基本授权?

curl_setopt($ch, CURLOPT_URL, "https://url.desk.com/api/v2/cases");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
curl_setopt($ch, CURLOPT_HEADER, 'Accept: application/json');

你也不会需要' -u'在你的网址中,这是用于命令行卷曲。

此外,您还需要更换':id'用上面的案例的ID来返回特定的案例。例如:

curl_setopt($ch, CURLOPT_URL, "https://url.desk.com/api/v2/cases/1");

答案 1 :(得分:0)

请尝试使用此功能,请务必定义/替换$ email和$ password

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://url.desk.com/api/v2/cases");
curl_setopt($ch, CURLOPT_USERPWD, "{$email}:{$password}");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 'Accept: application/json');

$output = curl_exec($ch);
var_dump($output);

curl_close($ch);