首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 串接愛查快遞 API:從申請 Key 到前後端完整實作

     編輯:PHP 相關知識

前置準備

  1. 前往 愛查快遞官網 註冊帳號並申請 API Key(審核快、免費額度足夠開發測試)。
  2. 記下 id(Key)、支援的快遞公司代碼(如 shunfeng、yuantong 等)。

API 請求格式

GET https://api.ickd.cn/?com={公司代碼}&nu={運單號}&id={Key}&type=html&encode=utf8

回傳 HTML 片段,可直接嵌入頁面或經 AJAX 載入。

後端代理 (get.php) - 隱藏 Key 與跨域處理

<?php
header('Content-Type: text/html; charset=utf-8');

$com = isset($_GET['expressid']) ? trim($_GET['expressid']) : '';
$nu  = isset($_GET['expressno']) ? trim($_GET['expressno']) : '';
$key = 'YOUR_API_KEY_HERE'; // 請替換為你的 Key

if (empty($com) || empty($nu)) {
    exit('參數缺失:expressid、expressno 均為必填');
}

$url = "https://api.ickd.cn/?com={$com}&nu={$nu}&id={$key}&type=html&encode=utf8";
$result = @file_get_contents($url);

if ($result === false) {
    exit('查詢失敗,請檢查網路或 API Key');
}
echo $result;
?>

前端頁面 (example.html) - jQuery AJAX 體驗

<!DOCTYPE html>
<html><head>
<meta charset="utf-8">
<title>快遞查詢 Demo</title>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"></script>
<style>
    .result-table {width:100%; border-collapse:collapse; font-size:14px;}
    .result-table th, .result-table td {border:1px solid #98bf21; padding:6px; text-align:center;}
    .result-table th {background:#A7C942; color:#fff;}
    .result-table tr.odd {background:#EAF2D3;}
</style>
</head><body>
<div class="search-form">
    <label>快遞公司:<input id="expressid" placeholder="如 shunfeng"></label>
    <label>運單號碼:<input id="expressno" placeholder="輸入運單號"></label>
    <button id="btnQuery">查詢</button>
</div>
<div id="shipping_detail"></div>

<script>
$('#btnQuery').click(function() {
    var com = $('#expressid').val().trim();
    var nu  = $('#expressno').val().trim();
    if (!com || !nu) return alert('請填寫完整資訊');

    $('#shipping_detail').html('<img src="load.gif" alt="載入中...">');
    $.get('get.php', {expressid: com, expressno: nu}, function(html) {
        $('#shipping_detail').html(html);
    }).fail(function() {
        $('#shipping_detail').html('<div style="color:red">請求失敗,請稍後再試</div>');
    });
});
</script>
</body></html>

進階應用建議

  • 快取機制:同一運單號短時間內重複查詢,建議用 Redis/Memcached 快取 5-10 分鐘。
  • 錯誤碼處理:API 回傳非 HTML 時(如 JSON 錯誤碼),前端應解析並顯示友善提示。
  • 支援多單號:擴展介面允許批次輸入,後端並發請求合併回傳。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved