JS進行Base64編碼,MD5加密,URL編碼實現快遞鳥API接口簽名驗證

有網友留言說,想調用快遞鳥API接口實現快遞查詢,但是又不懂後端開發,不懂JAVA,不懂PHP,不懂C#,也不懂python,問我能不實現快遞接口查詢,我說你會什麼,他說,我只懂一點點JS,我回答他,已經足夠了,我現在就來告訴你如何通過JS來實現600多家的物流軌跡查詢。

你只需要一步,新建一個Text文本,把下面這段代碼複製進去,替換你自己的快遞鳥ID和APIkey, 將txt後綴改成HTML,用瀏覽器預覽就可以看到效果。

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>JS調用快遞鳥API接口</title>
    <meta charset="utf-8" />
    <script src="/base64.js"></script>
    <script src="/md5.js"></script>
    <script src="/jquery.json-2.2.min.js"></script>
    <script src="/common.js"></script>
    <script type="text/javascript">

        function GetAPI() {      
            var key="快遞鳥API Key";
            var id = "快遞鳥註冊ID號";
            var requestData="{'OrderCode':'','ShipperCode':'ZTO','LogisticCode':'78120038107849'}";
            //MD5加密
            var md5str = md5(requestData + key).toLowerCase();
            //base64
            var dataSign = Base64.encode(md5str);
            //拼接字符串(快遞鳥請求報文格式)url編碼 
            var reqData = "RequestData=" + escape(requestData) + "&EBusinessID=" + id + "&RequestType=1002&DataSign=" + escape(dataSign) + "&DataType=2";    
            //reqData = "RequestData=%7b%27OrderCode%27%3a%27%27%2c%27ShipperCode%27%3a%27ZTO%27%2c%27LogisticCode%27%3a%2778120038107849%27%7d&EBusinessID=1264783&RequestType=1002&DataSign=NzMxNTAzZWYxYTJiOGIyMDhiNTVjMTc4MDQ0NjdlZDg%3d&DataType=2";

            //調用
            SubmitPost({
                method: 'post',
                url: '/api/dist',
                data: reqData,
                beforeSend: function (xhr) {
                    //調用前觸發,如加載效果等
                },
                success: function (data, status) {
                    if (status) {
                        document.getElementById("msg").innerHTML = "";
                        for (var i = 0,
   len = data.Traces.length; i < len; i++) {

                            var acceptTime = data.Traces[i].AcceptTime;
                            var acceptStation = data.Traces[i].AcceptStation;
                            //頁面展示效果自己開發,這裏只實現功能
                            document.getElementById("msg").innerHTML += acceptTime + "&nbsp;&nbsp;" + acceptStation+"<br/>";
                        }
                       } 
                },
                error: function (data, status, e) {
                    if (data.status == "401") {
                        alert(data.status);
                        return;
                    }

                }
            });
        }
    </script>

</head>
<body>

    <input id="Button1" onclick="GetAPI();" type="button" value="JS調用快遞鳥API接口" />

    <div id="msg"></div>
</body>
</html>

運行效果如下:
JS進行Base64編碼,MD5加密,URL編碼實現快遞鳥API接口簽名驗證

注意:

<script src="/base64.js"></script>
<script src="/md5.js"></script>
<script src="/jquery.json-2.2.min.js"></script>

這3個js文件引用,網上都能下載到,都是通用的js,如果有更好的建議,歡迎下方留言一起探討。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章