thinkphp 助手函数url不生成https_如何用ThinkPHP框架写一个快递查询接口
ThinkPHP是php程序員們經常使用的框架之一,運用框架來開發網站無疑減輕了我們代碼量,加快了我們的開發速度,框架底層封裝的方法和函數使用起來簡直不能太爽。今天給大家總結一個小案例,如何實現一個快遞查詢的接口。
所謂接口,就是程序之間交互數據的一種方式,說白了就是瀏覽器通過url請求到的地址中的代碼。而提供快遞查詢的第三方平臺有很多,常見的有快遞100、聚合數據、阿里云、騰訊云京東萬象等。聚合數據首次申請api可以送100次,這里我們以聚合數據平臺為例,后面的內容我會把我申請的key展示出來。
接口頁面:https://www.juhe.cn/docs/api/id/43
接口地址:http://v.juhe.cn/exp/index
返回格式:json/xml
請求方式:http post/get
必傳請求參數: com 快遞公司編號; no 快遞單號; key 授權key
請求示例:http://v.juhe.cn/exp/index?com=zto&no=73115984252335&key=e12a8de6adad6f7da3c9292f9275f70b
直接請求上面路徑的話,得到的無疑是一段可讀性不強的數據,如下圖:
下面我們使用TP框架將快遞信息展示出來:
1.我們使用phpstorm通過命令行工具創建一個api模塊:
2.在自動生成的index控制器中聲明一個名為kuaidi的函數:
3.代碼書寫如下:
public function kuaidi(){//接口地址$url = "http://v.juhe.cn/exp/index";//請求參數$params = ['com' => 'zto','no' => '73115984252335','key' => 'e12a8de6adad6f7da3c9292f9275f70b'];//發送請求$res = curl_request($url, true, $params);if(!$res){echo '請求失敗';die;}//解析結果$arr = json_decode($res, true);//查詢失敗if($arr['resultcode'] != 200){echo $arr['reason'];die;}//查詢成功,展示信息$list = $arr['result']['list'];echo '時間 ------------------------ 物流信息<br>';foreach($list as $v){echo $v['datetime'], '------------------------', $v['remark'], '<br>';}}4.通過瀏覽器訪問http://www.tpshop.com/api/index/kuaidi,結果如下:
以上就是實現快遞查詢接口的整個流程了,另外,我總結了2個注意事項:
1:此訪問域名需要在phpStudy集成環境中配置虛擬站點(過程略)以及在host文件中添加 127.0.0.1 www.tpshop.com
2:內置函數json_decode()是對JSON數據進行解碼,轉換為PHP變量。而json_encode() 是對變量進行JSON編碼
另外,在開發接口之后,為了和前端程序員交流起來方便,還需要寫一份接口文檔哦。
總結
以上是生活随笔為你收集整理的thinkphp 助手函数url不生成https_如何用ThinkPHP框架写一个快递查询接口的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 万网怎么注册(万网怎么注册域名)
- 下一篇: PHP数组加表格_php数组输出html