$url?=?"";

我們一直強(qiáng)調(diào)網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作對(duì)于企業(yè)的重要性,如果您也覺得重要,那么就需要我們慎重對(duì)待,選擇一個(gè)安全靠譜的網(wǎng)站建設(shè)公司,企業(yè)網(wǎng)站我們建議是要么不做,要么就做好,讓網(wǎng)站能真正成為企業(yè)發(fā)展過程中的有力推手。專業(yè)網(wǎng)站設(shè)計(jì)公司不一定是大公司,成都創(chuàng)新互聯(lián)作為專業(yè)的網(wǎng)絡(luò)公司選擇我們就是放心。
$queryServer?=?curl_init();
curl_setopt($queryServer,?CURLOPT_URL,?$url);
curl_setopt($queryServer,?CURLOPT_HEADER,?0);
curl_setopt($queryServer,?CURLOPT_RETURNTRANSFER,?1);
curl_setopt($queryServer,?CURLOPT_RETURNTRANSFER,?true);
curl_setopt($queryServer,?CURLOPT_CONNECTTIMEOUT,?10);
curl_setopt($queryServer,?CURLOPT_TIMEOUT,?30);
$html?=?curl_exec($queryServer);
$html?=?iconv('UTF-8','GBK//IGNORE',$html);?//如果你需要是的數(shù)據(jù)是utf-8編碼的,這一行可以注銷,如果需要gbk編碼的,請(qǐng)保留.如果出現(xiàn)亂碼,就是一行的問題,你自己調(diào)著試吧
//echo?$holder;exit;?此處可以輸出來測(cè)試.
$html?=?str_replace(array("\n","\r","\t"),"",$html);
$preg?=?'/table\s+width=\"800\"[^]+(.*?)\/table/';
preg_match_all($preg,$html,$out);
//匹配每行
preg_match_all('/tr[^]+(.*?)\/tr/',$out[1][0],$tr);
//匹配每個(gè)td
$result?=?array();
$match?=?'/td.+([^]+)\/td/U';
foreach(?$tr[0]?as?$key?=?$value?){
preg_match_all($match,$value,$arr);
$result[]?=?$arr[1];
}
//輸出測(cè)試,$result就是你要的數(shù)據(jù),至于你要怎么輸出顯示格式,那就隨心調(diào)就好了。
foreach(?$result?as?$key?=?$value?){
echo?implode("\t",$value);
echo?"br";
}
exit;
接口的流程.
建立控制器(訪問地址)-審核訪問者身份(token)-驗(yàn)證提交數(shù)據(jù)是否符合類型(validate
)-處理接收數(shù)據(jù)(邏輯流程)-返回結(jié)果(json字符串).
其中要注意是否存在跨域,如果跨域要做跨域處理,例如返回jsonp.
使用PHP寫api接口是經(jīng)常做的,PHP寫好接口后,前臺(tái)就可以通過鏈接獲取接口提供的數(shù)據(jù),而返回的數(shù)據(jù)一般分為兩種情況,xml和json,在這個(gè)過程中,服務(wù)器并不知道,請(qǐng)求的來源是什么,有可能是別人非法調(diào)用我們的接口,獲取數(shù)據(jù),因此就要使用安全驗(yàn)證
原理
從圖中可以看得很清楚,前臺(tái)想要調(diào)用接口,需要使用幾個(gè)參數(shù)生成簽名。
時(shí)間戳:當(dāng)前時(shí)間
隨機(jī)數(shù):隨機(jī)生成的隨機(jī)數(shù)
口令:前后臺(tái)開發(fā)時(shí),一個(gè)雙方都知道的標(biāo)識(shí),相當(dāng)于暗號(hào)
算法規(guī)則:商定好的運(yùn)算規(guī)則,上面三個(gè)參數(shù)可以利用算法規(guī)則生成一個(gè)簽名。前臺(tái)生成一個(gè)簽名,當(dāng)需要訪問接口的時(shí)候,把時(shí)間戳,隨機(jī)數(shù),簽名通過URL傳遞到后臺(tái)。后臺(tái)拿到時(shí)間戳,隨機(jī)數(shù)后,通過一樣的算法規(guī)則計(jì)算出簽名,然后和傳遞過來的簽名進(jìn)行對(duì)比,一樣的話,返回?cái)?shù)據(jù)。
算法規(guī)則
在前后臺(tái)交互中,算法規(guī)則是非常重要的,前后臺(tái)都要通過算法規(guī)則計(jì)算出簽名,至于規(guī)則怎么制定,看你怎么高興怎么來。
我這個(gè)算法規(guī)則是
時(shí)間戳,隨機(jī)數(shù),口令按照首字母大小寫順序排序
然后拼接成字符串
進(jìn)行sha1加密
再進(jìn)行MD5加密
轉(zhuǎn)換成大寫。
file_get_contents或者curl都可以
接收到數(shù)據(jù)后,可以使用php函數(shù)json_decode()把json轉(zhuǎn)換成數(shù)組或?qū)ο蟾袷?/p>
PHP可以使用函數(shù):file_get_contents函數(shù)獲取外部json數(shù)據(jù)接口的數(shù)據(jù),得到這些數(shù)據(jù)以后php再轉(zhuǎn)成數(shù)組或?qū)ο髠鹘o前臺(tái)html頁面顯示即可。
網(wǎng)站標(biāo)題:php外部接口數(shù)據(jù) php數(shù)據(jù)庫(kù)api接口
標(biāo)題來源:http://chinadenli.net/article32/hjiosc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、靜態(tài)網(wǎng)站、服務(wù)器托管、用戶體驗(yàn)、定制網(wǎng)站、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)