本文目錄一覽:
- 1、PHP中運用jQuery的Ajax跨域調用實現代碼
- 2、php怎麼調用其他網站提供的api介面?
- 3、php中如何調用介面以及編寫介面代碼詳解
- 4、php怎麼調用其他網站提供的api 介面
- 5、php怎樣實現跨域操作?
- 6、PHP 能跨域名調用動態文件嗎
PHP中運用jQuery的Ajax跨域調用實現代碼
可以在頁面定義一個調用方法,如下:
複製代碼
代碼如下:
function
getData(){
$.getJSON(“?”,
{
“m”:”data”,//
指定php的文件名字
“act”:”getdata”,//
指定php文件中的方法
“name”:”問題兒童”//
傳入的參數
},
function(data)
{
//
獲得返回值
}
});
}
對應鏈接下(123.123.123.123)的PHP文件,一般默認先調用index.php文件,通過index.php文件內的方法處理後,轉到對應的php文件,並且找到對應的方法,執行之。
index.php代碼如下:
複製代碼
代碼如下:
?php
/**
*
入口文件
*/
$string
=
$_SERVER[“REQUEST_URI”];//
獲取訪問的url
$m
=
get_m($string);
$file_path
=
“app/”.$m.”.php”;
define(‘IS_INDEX’,true);//
阻止直接訪問app目錄
require
($file_path);
/**
*
*
獲取訪問php文件
*
@param
string
$url
*/
function
get_m($url){
$strings
=
explode(‘m=’,
$url);
$res
=
explode(“”,
$strings[1]);
return
empty($res[0])?’index’:$res[0];
}
?
data.php代碼如下:
複製代碼
代碼如下:
?php
/**
*
data文件
*/
$act
=
!empty($_GET[‘act’])
?
$_GET[‘act’]
:
”;
if
($act
==
‘getdata’)
{
$name
=
“我的名字叫:”.$_REQUEST[‘name’];
echo
$_REQUEST[“callback”].”(“.json_encode($name).”)”;
}
?
成功調用後,畫面就能獲取到返回的json數據了。
php怎麼調用其他網站提供的api介面?
通過php模擬post請求即可調用。
php 模擬POST提交的方法:
通過curl函數
Php代碼:
$post_data = array();
$post_data[‘clientname’] = “test08”;
$post_data[‘clientpasswd’] = “test08”;
$post_data[‘submit’] = “submit”;
$url=”;
$o=””;
foreach ($post_data as $k=$v)
{
$o.= “$k=”.urlencode($v).””;
}
$post_data=substr($o,0,-1);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL,$url);
//為了支持cookie
curl_setopt($ch, CURLOPT_COOKIEJAR, ‘cookie.txt’);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$result = curl_exec($ch);
php中如何調用介面以及編寫介面代碼詳解
可以用curl獲取借樓的信息。
所謂介面,就是提供一個url,只要你滿足它要求的參數,就能得到你要的數據。比如你拿到一個介面,帶上所需的參數,複製到地址欄同樣能得到。不過最好用程序得到。file_get_contents也可以用,不過有局限性。所以我建議用curl。給你一個函數,挺好用的。
function request($url,$https=true,$method=’GET’,$data=null){
$ch = curl_init();//初始化,得到資源
curl_setopt($ch, CURLOPT_URL,$url); //請求數據的路徑
curl_setopt($ch, CURLOPT_HEADER,false);//是否輸出頭
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //不直接輸出結果
//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); //傳輸數據
}
$content_json = curl_exec($ch);
if ($content_json === false) {
return “網路請求出錯: ” . curl_error($ch);
}
curl_close($ch);
return $content_json;
}
php怎麼調用其他網站提供的api 介面
在這裡openUser.php相當於一個介面,其中get_user_list 是一個API(獲取用戶列表),講求返回的數據類型為JSON格式。
需要在PHP代碼中執行這條鏈接他就會返回。
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 );
php怎樣實現跨域操作?
伺服器端PHP跨域一般沒有限制,不像瀏覽器端有same origin policy。
把伺服器B中的代碼封裝一下,確定好輸入和輸出,比如輸入是一個HTTP Request,參數POST過去;輸出是從HTTP Response返回一段XML。之後在伺服器A的代碼中做一個對伺服器B的HTTP請求並處理返回的XML就好了。
有問題請追問~
PHP 能跨域名調用動態文件嗎
不可以的哦!如果那樣就亂套了。你可以用curl訪問你需要的對方的文件 ,讓它給你返回數據 也就是常說的api介面
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/244605.html