我正在尝试发送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);
答案 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比较: