0

我正在尝试发送 REST 请求。系统文档给我的例子是这样的:

 $ curl --digest -u admin:<passwd> http://1.2.3.4/r/users/12345/calls/recent

{"data": [
  {"state_msg": "Finished",
   "code": 200,
   "dst_codecs": "PCMU,PCMA,iLBC,telephone-event",
   "src_codecs": "PCMU,PCMA,telephone-event,iLBC",
   "pid": 1250018007,
   "url": "\/r\/users\/12345\/calls\/1250018007:16739",
   [...]
  }
  [...]
]}

这个例子想告诉我什么?那里的数据信息是什么?那是我需要发送的吗?如果是这样,我将如何发送它?我读过这篇文章:Call a REST API in PHP但我仍然不确定如何构建我的调用。会是这样吗?

 $data = array('state_msg' => 'state_msg','code'=>'200'.....);

 curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
 curl_setopt($curl, CURLOPT_USERPWD, "admin:<password>");
 curl_setopt($curl, CURLOPT_URL, "http://1.2.3.4/r/users/12345/calls/recent");
 curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
4

1 回答 1

1

我从示例的开头开始:

$ curl

$符号表示具有标准用户权限的 unix shell 提示符。

然后用空格分隔curl此处的命令。

每个命令(通常)都有一个手册页,您可以使用 man 命令获得它:

$ man curl

这应该向您解释所有其余部分,因为这些手册页解释了所有命令开关和选项。

如果您手头没有这样的 shell 提示并且您不想考虑安装一个,那么许多命令在 Internet 上也有它们的手册页。这里是卷曲:

在您了解了该具体命令的作用之后,您只需在curl_setopt页面上的 PHP 手册中查找相关选项。以下示例演示了其工作原理:


例子:

$ curl --digest -u admin:<passwd> http://1.2.3.4/r/users/12345/calls/recent
       ########

此开关与设置的CURLAUTH_DIGEST值有关CURLOPT_HTTPAUTH

$handle = curl_init($url);
curl_setopt_array($handle, [
    ...
    CURLOPT_HTTPAUTH => CURLAUTH_DIGEST, // --digest
    ...
]);

与刚刚被 PHP 包装的 Curl C-API 进行比较:

于 2013-08-29T15:09:41.440 回答