A. 怎麼用php獲取遠程端的json數據,不會用,求大神解釋
file_get_contents是可以的,
<?php
echo"<metahttp-equiv='Content-Type'content='text/html;charset=utf-8'/>";
$m=file_get_contents("https://openapi.youku.com/v2/videos/show_basic.json?video_id=XOTQ1NDU5ODk2&client_id=319cdac7553fa298");
print_r(json_decode($m));
?>
輸出結果:
B. 如何用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);
?>
C. 如何用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 也是可以的
D. 我有移動提供的簡訊介面,請問怎麼用php調用這些介面發送簡訊呢
移動的介面是什麼風格的?是soap的還是自定義的?
調用自定義介面通常有以下步驟:
1、閱讀介面文檔
2、數據介面一般會提供一些參數。如果是GET介面,請將參數拼接在地址的後面(推薦使用
http_build_query)。如果是POST介面,看我的示例代碼。
3、請求數據
4、解析返回的內容,判斷調用是否成功。一般返回的內容有xml和json格式。
給你一個CURL調用POST介面的例子:
<?php
$ch=curl_init('省略介面地址,防止屏蔽');
//以下選項設為true,否則介面返回的內容會直接列印在頁面上
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
//連接超時,一定要設置
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,5);
//連接成功後,請求超時,一定要設置
curl_setopt($ch,CURLOPT_TIMEOUT,5);
//使用POST請求
curl_setopt($ch,CURLOPT_POST,1);
//將參數POST過去,$post_data是你的參數組成的關聯數組
curl_setopt($ch,CURLOPT_POSTFIELDS,$post_data);
//提交請求,得到反饋
$response=curl_exec($ch);
//解析反饋的內容,略
如果是SOAP風格的,請查閱PHP文檔SoapClient類的用法。因為Soap規范不統一,使用其他語言實現的Soap可能和PHP不兼容。
以前我使用過移動夢網的介面(不是移動的介面),它提供兩種風格的API。它的Soap就和PHP不兼容。所以我選擇了自定義風格的API。
E. curl 參數 命令
post jason data with curl:
curl -H "Content-Type: application/json" -X POST -d '[{"x":115.80796583333334,"y":36.23307472222222,"z":null}]' http://mars.amap.com/wgs2gcj
linux 下使用 curl 訪問帶多參數,GET掉參數解決方案
url 為 http://mywebsite.com/index.php?a=1&b=2&c=3
curl -s http://mywebsite.com/index.php?a=1&b=2&c=3
然而在linux下,上面的例子 $_GET只能獲取到參數 a
由於url中有&其他參數獲取不到,在linux系統中 &會使進程系統後台運行
必須對 &進行下轉義才能 $_GET獲取到所有參數
curl -s http://mywebsite.com/index.php?a=1\&b=2\&c=3
當然,最簡單的方法 用雙引號把整個url引起來就ok了
curl -s "http://mywebsite.com/index.php?a=1&b=2&c=3"
F. php鎬庝箞鑾峰彇榪滅▼JSon鍐呭 騫秔ost涓浜涘弬鏁
$data = file_get_contents($url);//鐩鐨勯〉闈㈠唴瀹歸傜矖鑾峰彇
$t = json_decode($data,1);//杞鎹涓篜HP鏁扮粍
//澶勭悊...
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $urlo);//鏁版嵁鍦嗙ゥ鍙戦佸湴鍧
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);//姍樻ū鎼忓彂閫佺殑鏁版嵁鏁扮粍
curl_exec($ch);
G. php如何通過get方法發送http請求,並且得到返回的參數
這是一個跨域訪問問題,以前這種問題是比較復雜的。不過隨著XML josn等等數據結構的應用
現在還是很好解決的 而且你的要求也不高 只是一個返回值的話 都用不到數據結構了 直接頁面輸出就好了
我寫了兩個簡單的文件給你 裡面的域名和文件名參數 你都可以自己調整 我測試是沒問題的
//test.php
<?php
$ch = curl_init();
$str ='http://127.0.0.1/form.php?id=10';
curl_setopt($ch, CURLOPT_URL, $str);
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );
$output = curl_exec($ch);
var_mp( $output );
?>
//頁面輸出結果 string(2) "10"
//form.php 文件內容如下
<?php
$id = $_GET['id'];
echo $id;
?>