申请流程:
登录阿里云搜索:快递接口
购买成功后登录云市场
可见:该接口免费申请,一年100次(测试了几下都费10次了,瑟瑟发抖~)
代码实现:
(以下代码为测试代码)
public function index()
{
if(isset($_GET['sub']))
{
$host = "https://wuliu.market.alicloudapi.com";//api访问链接
$path = "/kdi";//API访问后缀
$method = "GET";
$no = $_GET['no'];//快递单号
$appcode = "6358224b9f2b4a15a1eaa2f677ba9bc2";//替换成自己的阿里云appcode
$headers = array();
array_push($headers, "Authorization:APPCODE " . $appcode);
$querys = "no=$no"; //参数写在这里
$url = $host . $path . "?" . $querys;//url拼接
$this->url($method,$url,$headers,$host);
}
else
return $this->fetch('index');
}
public function url($method,$url,$headers,$host)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
if (1 == strpos("$".$host, "https://"))
{
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
}
$res = json_decode(curl_exec($curl),true);//这里为返回信息
print_r($res);
}
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="{:url('Index/index')}">
快递单号:<input type="text" name='no'><br>
快递公司:<select name="type">
<option value="stkd">申通快递</option>
<option value="ztkd">中通快递</option>
<option value="ytkd">圆通快递</option>
</select>
<input type="submit" name="sub" value="查询">
</form>
</body>
</html>
总体流程:
调用http(s)://wuliu.market.alicloudapi.com/kdi
接口,传入no(运单编号,必选!)
和type(快递公司的首字母简写,可选。选上会提高查询效率和精准度!)
返回示例:
错误码信息: