統(tǒng)一的數(shù)據(jù)訪問接口PDO
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供宣漢網(wǎng)站建設(shè)、宣漢做網(wǎng)站、宣漢網(wǎng)站設(shè)計、宣漢網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、宣漢企業(yè)網(wǎng)站模板建站服務(wù),10多年宣漢做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
PDO(PHP Data Objects) 擴展為 PHP 訪問數(shù)據(jù)庫定義了一個輕量級的、一致性的接口,它提供了一個數(shù)據(jù)訪問抽象層,這樣,無論使用什么數(shù)據(jù)庫,用戶都可以通過統(tǒng)一的函數(shù)執(zhí)行來查詢和獲取數(shù)據(jù)。注意,你并不能使用 PDO 擴展本身執(zhí)行任何數(shù)據(jù)庫操作,必須使用一個 database-specific PDO driver (針對特定數(shù)據(jù)庫的 PDO 驅(qū)動)訪問數(shù)據(jù)庫服務(wù)器。
PHP可以使用函數(shù):file_get_contents函數(shù)獲取外部json數(shù)據(jù)接口的數(shù)據(jù),得到這些數(shù)據(jù)以后php再轉(zhuǎn)成數(shù)組或?qū)ο髠鹘o前臺html頁面顯示即可。
file_get_contents或者curl都可以
接收到數(shù)據(jù)后,可以使用php函數(shù)json_decode()把json轉(zhuǎn)換成數(shù)組或?qū)ο蟾袷?/p>
使用PHP寫api接口是經(jīng)常做的,PHP寫好接口后,前臺就可以通過鏈接獲取接口提供的數(shù)據(jù),而返回的數(shù)據(jù)一般分為兩種情況,xml和json,在這個過程中,服務(wù)器并不知道,請求的來源是什么,有可能是別人非法調(diào)用我們的接口,獲取數(shù)據(jù),因此就要使用安全驗證
原理
從圖中可以看得很清楚,前臺想要調(diào)用接口,需要使用幾個參數(shù)生成簽名。
時間戳:當前時間
隨機數(shù):隨機生成的隨機數(shù)
口令:前后臺開發(fā)時,一個雙方都知道的標識,相當于暗號
算法規(guī)則:商定好的運算規(guī)則,上面三個參數(shù)可以利用算法規(guī)則生成一個簽名。前臺生成一個簽名,當需要訪問接口的時候,把時間戳,隨機數(shù),簽名通過URL傳遞到后臺。后臺拿到時間戳,隨機數(shù)后,通過一樣的算法規(guī)則計算出簽名,然后和傳遞過來的簽名進行對比,一樣的話,返回數(shù)據(jù)。
算法規(guī)則
在前后臺交互中,算法規(guī)則是非常重要的,前后臺都要通過算法規(guī)則計算出簽名,至于規(guī)則怎么制定,看你怎么高興怎么來。
我這個算法規(guī)則是
時間戳,隨機數(shù),口令按照首字母大小寫順序排序
然后拼接成字符串
進行sha1加密
再進行MD5加密
轉(zhuǎn)換成大寫。
可以用curl獲取借樓的信息。
所謂接口,就是提供一個url,只要你滿足它要求的參數(shù),就能得到你要的數(shù)據(jù)。比如你拿到一個接口,帶上所需的參數(shù),復(fù)制到地址欄同樣能得到。不過最好用程序得到。file_get_contents也可以用,不過有局限性。所以我建議用curl。給你一個函數(shù),挺好用的。
function request($url,$https=true,$method='GET',$data=null){
$ch = curl_init();//初始化,得到資源
curl_setopt($ch, CURLOPT_URL,$url); //請求數(shù)據(jù)的路徑
curl_setopt($ch, CURLOPT_HEADER,false);//是否輸出頭
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //不直接輸出結(jié)果
//curl_setopt ($ch, CURLOPT_SAFE_UPLOAD, 0);//兼容php之后的版本
if($https){
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //是否驗證主機
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //是否進行證書驗證
}
if($method=='POST'){
curl_setopt($ch, CURLOPT_POST, true); //POST傳輸
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //傳輸數(shù)據(jù)
}
$content_json = curl_exec($ch);
if ($content_json === false) {
return "網(wǎng)絡(luò)請求出錯: " . curl_error($ch);
}
curl_close($ch);
return $content_json;
}
函數(shù)是不可以調(diào)用的
你把這個xml當成字符串,然后在用php xml處理一下就可以使用了
文章題目:php使用接口數(shù)據(jù) php接口數(shù)據(jù)加密前端解密
文章轉(zhuǎn)載:http://muchs.cn/article14/hjcpge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、手機網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、營銷型網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)