『壹』 如何用php調用外部介面json數據
file_get_contents或者curl都可以
接收到數據後,可以使用php函數json_decode()把json轉換成數組或對象格式
『貳』 php如何寫介面給別人調用獲取到一定的數據!
那估計不行,在沒有絕對安全的情況下,還是不要泄漏自己的用戶安全數據,一般都是只返回必要的信息,如果資料庫共享,那直接給他們查詢帳號就行了...所以,你需要做一個接受頁面,然後和上面說的一樣,API的雛形就是這樣出來的,寫出來的頁面就和第三方調用差不多,首先判斷許可權,是否有使用API的許可權,然後分析執行發送過來的命令,執行完返回結果,這就是傳說中的API,具體的的話,你可以參考很多,就比如UC和DZ論壇的整合,就是使用的API的形式,你可以參考一下他的文件
『叄』 如何用php調用外部介面json數據
一般使用php發送請求,獲取返回的數據,進行解析;
<?php
$url="介面地址";
//發送請求獲取返回值,file_get_contents只支持get請求,post使用curl
$json = file_get_contents($url);
//把json數據轉化成數組
$data = json_decode($json,true);
//列印看看
print_r($data);
?>
『肆』 如何用php調用外部介面json數據
首先你提問的問題描述不夠清楚,我就當你用php去訪問其他網站的介面,返回的是api數據
使用php的curl相關函數去訪問(不同介面不同的請求驗證或者直接get)
使用php內置函數json_decode()解析並處理返回數據
『伍』 PHP 的API介面
使用PHP寫api介面是經常做的,PHP寫好介面後,前台就可以通過鏈接獲取介面提供的數據,而返回的數據一般分為兩種情況,xml和json,在這個過程中,伺服器並不知道,請求的來源是什麼,有可能是別人非法調用我們的介面,獲取數據,因此就要使用安全驗證
原理
從圖中可以看得很清楚,前台想要調用介面,需要使用幾個參數生成簽名。
時間戳:當前時間
隨機數:隨機生成的隨機數
口令:前後台開發時,一個雙方都知道的標識,相當於暗號
演算法規則:商定好的運算規則,上面三個參數可以利用演算法規則生成一個簽名。前台生成一個簽名,當需要訪問介面的時候,把時間戳,隨機數,簽名通過URL傳遞到後台。後台拿到時間戳,隨機數後,通過一樣的演算法規則計算出簽名,然後和傳遞過來的簽名進行對比,一樣的話,返回數據。
演算法規則
在前後台交互中,演算法規則是非常重要的,前後台都要通過演算法規則計算出簽名,至於規則怎麼制定,看你怎麼高興怎麼來。
我這個演算法規則是
時間戳,隨機數,口令按照首字母大小寫順序排序
然後拼接成字元串
進行sha1加密
再進行MD5加密
轉換成大寫。
『陸』 php怎麼調用其他網站提供的api 介面
在這里openUser.php相當於一個介面,其中get_user_list 是一個API(獲取用戶列表),講求返回的數據類型為JSON格式。
需要在PHP代碼中執行這條鏈接他就會返回。
GET方式的直接使用
$file_contents = file_get_content('http://localhost/openUser.php?act=get_user_list&type=json')
POST方式得用下面的。
$url = 'http://localhost/openUser.php?act=get_user_list&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 );
『柒』 如何使用介面文檔,查出相對應的信息 php
微信介面舉例:
獲取關注者信息介面
1、介面使用說明
//獲取用戶基本信息
publicfunctionget_user_info($openid){
$url="
$this->access_token."&openid=".$openid."&lang=zh_CN";
$res=$this->https_request($url);
returnjson_decode($res,true);
}
介面調用請求說明
http請求方式:GET
2、使用https_request,GET方式
//https請求(支持GET和POST)
protectedfunctionhttps_request($url,$data=null){
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL,$url);
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,FALSE);
curl_setopt($curl,CURLOPT_SSLVERSION,CURL_SSLVERSION_TLSv1);
if(!empty($data)){
curl_setopt($curl,CURLOPT_POST,1);
curl_setopt($curl,CURLOPT_POSTFIELDS,$data);
}
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
$output=curl_exec($curl);
curl_close($curl);
return$output;
}
3、正常情況下,微信會返回下述JSON數據包給公眾號:
{
"subscribe":1,
"openid":"o6_bmjrPTlm6_2sgVt7hMZOPfL2M",
"nickname":"Band",
"sex":1,
"language":"zh_CN",
"city":"廣州",
"province":"廣東",
"country":"中國",
"headimgurl":"
,
"subscribe_time":1382694957,
"unionid":"o6_bmasdasdsad6_2sgVt7hMZOPfL"
"remark":"",
"groupid":0
}
4、json_decode解析JSON獲取,介面信息
5、列印介面返回信息
$data=$this->get_user_info('openid');
print_r($data);
所有介面使用類似,主要就是curl發送GET或POST請求,返回介面獲取信息。
微信公眾號介面是目前移動WEB開發,用的比較多的、文檔也較齊全;有許多公司、開發人員都在使用的介面之一;介面使用度比較廣、用戶人數眾多、比較穩定。由於你沒有具體指出是什麼介面。用微信介面舉例,可以讓更多的人可以理解。
具體介面詳情(微信公眾號開發者文檔)http://mp.weixin.qq.com/wiki/1/.html 獲取用戶基本信息介面
『捌』 php怎麼從調用api返回的數據中取出指定值
localAddress是一個json對象,
<?php
$a='{"city":"廣州市","province":"廣東省"}';
$a=json_decode($a,true);
$b=$a['province'].$a['city'];
echo$b;
『玖』 PHP如何調用API介面
他會提供相應介面給你的,具體調用方法就相當於講求某個鏈接。act=get_user_list&type=json在這里operate.php相當於一個介面,其中get_user_list 是一個API(獲取用戶列表),講求返回的數據類型為JSON格式。act=get_user_list&type=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 );
『拾』 如何用php調用外部介面json數據
兩種比較簡單的方法:
1、使用curl
$url="http://www.xxxxxxxxxx.com/";
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_TIMEOUT,30);
$output=curl_exec($ch);
curl_close($ch);
echo$output;
2、使用file_get_contents
$output=file_get_contents($url);
echo$output;
3 、使用socket 也是可以的