在這里openUser.php相當于一個接口,其中g(shù)et_user_list 是一個API(獲取用戶列表),講求返回的數(shù)據(jù)類型為JSON格式。
成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比臨潁網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式臨潁網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋臨潁地區(qū)。費用合理售后完善,10年實體公司更值得信賴。
需要在PHP代碼中執(zhí)行這條鏈接他就會返回。
GET方式的直接使用
$file_contents = file_get_content(';type=json')
POST方式得用下面的。
$url = ';type=json';
$ch = acurl_init ();
acurl_setopt ( $ch, CURLOPT_URL, $url );
acurl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
acurl_setopt ( $ch, CURLOPT_CONNECTTIMEOUT, 10 );
acurl_setopt ( $ch, CURLOPT_POST, 1 ); //啟用POST提交
$file_contents = curl_exec ( $ch );
try{
$url='url地址';
$ch?=?curl_init();
curl_setopt($ch,?CURLOPT_URL,?$url);
curl_setopt($ch,?CURLOPT_RETURNTRANSFER,?true);
$page_content?=?curl_exec($ch);
curl_close($ch);
var_dump($page_content);
}catch?(Exception?$exception){
var_dump($exception-getMessage());
}
首先我們要知道的是,API有很多種表現(xiàn)形式,對于不同形式的API,調(diào)用方式也是不同的。
API常見模式
1、RPC(遠程過程調(diào)用協(xié)議)
RPC是一種進程遠程調(diào)用的方式,主要用于異構(gòu)平臺間的進程通信,是Client/Server模式。RPC可以使用多種協(xié)議(如:HTTP協(xié)議、自定義協(xié)議等)和序列化方式(如:JSON、XML、二進程),RPC是基于TCP或者自定義協(xié)議來實現(xiàn)的,性能較高,但耦合度也較高。
2、SOAP(簡單對象訪問協(xié)議)
SOAP其實是基于HTTP和XML的實現(xiàn),基于HTTP協(xié)議。在耦合度、維護性、擴展性上比RPC要好,但是性能上會低于RPC,特別是XML這種消息傳遞的方式會影響性能。
雖說SOAP是基于HTTP的,但是SOAP提供了Session/Cookie機制來維持狀態(tài),所以一些需要狀態(tài)的(如:調(diào)用某些API前需要進行認證)業(yè)務(wù)中還能看見SOAP的身影。
3、RESTful
RESTful其實是一種架構(gòu)風格,它不是一種標準!RESTful可以理解為是Json+HTTP+POST/GET/PUT/DELETE的組合,同樣是基于HTTP協(xié)議的。REST相比于SOAP和RPC,更加簡潔明了。
RESTful的無狀態(tài)特性使得其適合在分布式環(huán)境中使用,所以現(xiàn)在的API都推薦使用RESTful設(shè)計風格。
PHP中如何調(diào)用第三方提供的API?
上面講到了,API有很多種模式,對于不同模式我們調(diào)用的方法就不同。下面介紹下PHP如何計用常見模式的API。
1、RPC
如果對方提供的API是RPC形式的,那一般都會提供PHP版本的Client給你,你按說明進行調(diào)用即可。
另外PHP生態(tài)中也有不少RPC框架,如:PHPRPC、Thrift、gRPC等。
2、SOAP
PHP5內(nèi)置有php_soap擴展,此擴展實現(xiàn)了PHP對WebServices的支持。
3、RESTful
說白了RESTful就是HTTP協(xié)議,只不過使用了不同的HTTP動詞進行請求區(qū)分,我們推薦使用cURL類庫進行RESTfulAPI的請求。
不建議使用file_get_contents函數(shù)進行HTTP類型的API調(diào)用,很多人習慣使用此函數(shù)調(diào)用HTTPAPI,但是又不設(shè)置超時時間,當API不穩(wěn)定時嚴重影響了網(wǎng)站速度。
他會提供相應(yīng)接口給你的,具體調(diào)用方法就相當于講求某個鏈接。act=get_user_listtype=json在這里operate.php相當于一個接口,其中g(shù)et_user_list 是一個API(獲取用戶列表),講求返回的數(shù)據(jù)類型為JSON格式。act=get_user_listtype=json';$ch = curl_init ();curl_setopt ( $ch, CURLOPT_URL, $url );curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );curl_setopt ( $ch, CURLOPT_CONNECTTIMEOUT, 10 );curl_setopt ( $ch, CURLOPT_POST, 1 ); //啟用POST提交$file_contents = curl_exec ( $ch );curl_close ( $ch );
當前標題:phpapi調(diào)用數(shù)據(jù) 調(diào)用php接口
文章路徑:http://sd-ha.com/article26/ddjcjcg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、自適應(yīng)網(wǎng)站、搜索引擎優(yōu)化、靜態(tài)網(wǎng)站、App設(shè)計、網(wǎng)站建設(shè)
聲明:本網(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)