【发布时间】:2018-03-25 06:57:31
【问题描述】:
我是 PHP 开发的新手。我正在使用CURL 打电话给我的WEB API。作为一个新手,我发现很难理解事情。
我的 API 是如何工作的
API_URL 是http://localhost:14909/api/meters/GetByMsn/002999000077/2017-10-11T12:16:20
它接受meter serial number 和data time 并通过authorizing URL 给出响应。我得到的回应是
{
"data": {
"Response": "No"
}
}
我想做的事
现在在PHP 我正在使用CURL 提出请求。该请求很简单,因为它需要当前选择的meter serial number 和current date time,它还应该使用授权密钥。
到目前为止我做了什么
下面是我目前完成的代码
if( isset($_REQUEST['selected_meters']))
{
$m = MetersInventoryStore::findOne($_REQUEST['selected_meters']);
$msn = $m->meter_serial; // current selected meter serial number is saved
$date_time = str_replace(' ','T',date('Y-m-d H:i:s')); // current date time
$api_url = 'http://116.xx.xx.xx:xxxx/api/meters/GetByMsn/'; // my base URL
$curl = curl_init($api_url);
curl_setopt($curl,CURLOPT_RETURNTRANSFER, CURLOPT_HTTPHEADER, array('Authorization: MY_KEY')); // setting the authorization key in header.
exit();
}
现在我想发送meter serial number 和date time 参数。为此,我搜索了很多文章,但我都找到了一种将参数传递为query 和related link 的方法。
我正在考虑的一种方法是将参数直接传递给 URL Like:
$api_url = 'http://116.xx.xx.xx:xxxx/api/meters/GetByMsn/[$msn]/[$date_time]';
或
$api_url = 'http://116.xx.xx.xx:xxxx/api/meters/GetByMsn/' + $msn + '/'+$date_time;
但我不知道它是否有效
任何帮助将不胜感激。
【问题讨论】:
-
尝试自己学习。
-
@DessaugesAntoine 不能使用
?,因为参数像路径一样传递 -
@MasivuyeCokile 我已经对其进行了研究,并且在我的问题中也提到参数像路径而不是查询一样传递
-
+ $msn +php concat by + 如何?采用 。运算符来 cocat 字符串