通过php发送休息请求

时间:2013-08-29 15:04:45

标签: php rest curl

我正在尝试发送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);

1 个答案:

答案 0 :(得分:1)

我从示例的开头开始:

$ curl

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

然后一个空格将命令curl分开。

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

$ man curl

这应该向你解释所有其余内容,因为那些man-pages解释了所有命令开关和选项。

如果您手边没有这样的shell提示,并且您不想考虑安装一个,那么许多命令也会在互联网上显示其手册页。这里卷曲:

在您了解具体命令的作用后,您只需在curl_setopt page上的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比较:

相关问题