本文目錄一覽:
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-hant/n/243906.html