本文目錄一覽:
PHP 的API介面
使用PHP寫api介面是經常做的,PHP寫好介面後,前台就可以通過鏈接獲取介面提供的數據,而返回的數據一般分為兩種情況,xml和json,在這個過程中,伺服器並不知道,請求的來源是什麼,有可能是別人非法調用我們的介面,獲取數據,因此就要使用安全驗證
原理
從圖中可以看得很清楚,前台想要調用介面,需要使用幾個參數生成簽名。
時間戳:當前時間
隨機數:隨機生成的隨機數
口令:前後台開發時,一個雙方都知道的標識,相當於暗號
演算法規則:商定好的運算規則,上面三個參數可以利用演算法規則生成一個簽名。前台生成一個簽名,當需要訪問介面的時候,把時間戳,隨機數,簽名通過URL傳遞到後台。後台拿到時間戳,隨機數後,通過一樣的演算法規則計算出簽名,然後和傳遞過來的簽名進行對比,一樣的話,返回數據。
演算法規則
在前後台交互中,演算法規則是非常重要的,前後台都要通過演算法規則計算出簽名,至於規則怎麼制定,看你怎麼高興怎麼來。
我這個演算法規則是
時間戳,隨機數,口令按照首字母大小寫順序排序
然後拼接成字元串
進行sha1加密
再進行MD5加密
轉換成大寫。
php怎麼解析從網頁中獲取的xml數據
先給你個以前寫的讀取xml格式的天氣預報的代碼吧,比著葫蘆畫瓢,不懂再追問
?php
$apistr=file_get_contents(“;ak=B8aced94da0b345579f481a1294c9094”); //獲取xml內容
$apiobj=simplexml_load_string($apistr);//解析xml代碼
$todayobj=$apiobj-results-result[0]-date;//讀取星期
$weatherobj=$apiobj-results-result[0]-weather;//讀取天氣
$windobj=$apiobj-results-result[0]-wind;//讀取風力
$temobj=$apiobj-results-result[0]-temperature;//讀取溫度
$contentStr = “上海\n{$todayobj}\n天氣:{$weatherobj}\n風力:{$windobj}\n溫度:{$temobj}”;
echo $contentStr;
?
php做api介面給手機應用獲取數據
不是的,通常php查詢資料庫,取得結果集後,把每行的每個欄位值作為一個節點輸出xml,或者把所有行數據存入一個數組,之後json_encode輸出json供app調用。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/243906.html