kuaidi100 里面的验签功能没看到
phoenixg opened this issue · 8 comments
phoenixg commented
请问是否可以加入签名的实现:
$post_data = [];
$post_data["customer"] = self::KUAIDI100_CUSTOMER;
$key= self::KUAIDI100_KEY ;
$post_data["param"] = '{"com":"'.$trackingCompany.'","num":"'.$trackingNumber.'"}';
$url='http://poll.kuaidi100.com/poll/query.do';
$post_data["sign"] = md5($post_data["param"].$key.$post_data["customer"]);
$post_data["sign"] = strtoupper($post_data["sign"]);
$o="";
foreach ($post_data as $k=>$v)
{
$o.= "$k=".urlencode($v)."&"; //默认UTF-8编码格式
}
$post_data=substr($o, 0, -1);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$result = curl_exec($ch);
$data = str_replace("\"",'"',$result );
$data = json_decode($data,true);
return $data;
并且加入识别快递运输商的接口:
https://poll.kuaidi100.com/pollquery/autoNumberTechWord.jsp
slince commented
有相关文档连接吗
slince commented
你发的那个连接是没法直接打开的,而且根据你代码里的查询地址应该是以前的接口吧;
在下面这个文档页面没看到有自动识别承运商的服务, com这个参数像是要必填的: https://www.kuaidi100.com/openapi/api_post.shtml
slince commented
https://poll.kuaidi100.com/pollquery/autoNumberTechWord.jsp
这个连接如果你能打开的话可以截图邮件给我下; taosikai#########yeah.net
phoenixg commented
slince commented
所以按我的理解, 类库中实现的 kuaidi100 的 track 接口应该加入算签名的逻辑
没有校验其它校验,你那个key应该是真错了,试试这个http://api.kuaidi100.com/api?id=29833628d495d7a5&com=debangwuliu&nu=5621868024&valicode=&show=&muti=&order=asc
识别快递运输商的接口
这个是给定单号查找承运商,并不是跟踪物流信息,所以不是本库要做的事情; 这个库的主要作用就是要屏蔽中间商的差异性,让物流查询比较友好一点
slince commented
你要去注册他们的服务