php调接口post,php模拟post提交请求,调用接口
/**
*?模擬post進行url請求
*?@param?string?$url
*?@param?string?$param
*/
function?request_post($url?=?'',?$param?=?'')?{
if?(empty($url)?||?empty($param))?{
return?false;
}
$postUrl?=?$url;
$curlPost?=?$param;
$ch?=?curl_init();//初始化curl
curl_setopt($ch,?CURLOPT_URL,$postUrl);//抓取指定網(wǎng)頁
curl_setopt($ch,?CURLOPT_HEADER,?0);//設置header
curl_setopt($ch,?CURLOPT_RETURNTRANSFER,?1);//要求結(jié)果為字符串且輸出到屏幕上
curl_setopt($ch,?CURLOPT_POST,?1);//post提交方式
curl_setopt($ch,?CURLOPT_POSTFIELDS,?$curlPost);
$data?=?curl_exec($ch);//運行curl
curl_close($ch);
return?$data;
}
這是方法,下面是具體的調(diào)用案例。function?testAction(){
$url?=?'http://mobile.jschina.com.cn/jschina/register.php';
$post_data['appid']???????=?'10';
$post_data['appkey']??????=?'cmbohpffXVR03nIpkkQXaAA1Vf5nO4nQ';
$post_data['member_name']?=?'zsjs123';
$post_data['password']????=?'123456';
$post_data['email']????=?'zsjs123@126.com';
$o?=?"";
foreach?(?$post_data?as?$k?=>?$v?)
{
$o.=?"$k="?.?urlencode(?$v?).?"&"?;
}
$post_data?=?substr($o,0,-1);
$res?=?$this->request_post($url,?$post_data);
print_r($res);
}
這樣就提交請求,并且獲取請求結(jié)果了。一般返回的結(jié)果是json格式的。
這里的post是拼接出來的。
也可以改造成下面的方式。/**
*?模擬post進行url請求
*?@param?string?$url
*?@param?array?$post_data
*/
function?request_post($url?=?'',?$post_data?=?array())?{
if?(empty($url)?||?empty($post_data))?{
return?false;
}
$o?=?"";
foreach?(?$post_data?as?$k?=>?$v?)
{
$o.=?"$k="?.?urlencode(?$v?).?"&"?;
}
$post_data?=?substr($o,0,-1);
$postUrl?=?$url;
$curlPost?=?$post_data;
$ch?=?curl_init();//初始化curl
curl_setopt($ch,?CURLOPT_URL,$postUrl);//抓取指定網(wǎng)頁
curl_setopt($ch,?CURLOPT_HEADER,?0);//設置header
curl_setopt($ch,?CURLOPT_RETURNTRANSFER,?1);//要求結(jié)果為字符串且輸出到屏幕上
curl_setopt($ch,?CURLOPT_POST,?1);//post提交方式
curl_setopt($ch,?CURLOPT_POSTFIELDS,?$curlPost);
$data?=?curl_exec($ch);//運行curl
curl_close($ch);
return?$data;
}
將拼接也封裝了起來,這樣調(diào)用的時候就更簡潔了。function?testAction(){
$url?=?'http://mobile.jschina.com.cn/jschina/register.php';
$post_data['appid']???????=?'10';
$post_data['appkey']??????=?'cmbohpffXVR03nIpkkQXaAA1Vf5nO4nQ';
$post_data['member_name']?=?'zsjs124';
$post_data['password']????=?'123456';
$post_data['email']????=?'zsjs124@126.com';
//$post_data?=?array();
$res?=?$this->request_post($url,?$post_data);
print_r($res);
}
總結(jié)
以上是生活随笔為你收集整理的php调接口post,php模拟post提交请求,调用接口的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java struts 框架_java
- 下一篇: java 定义一组常量用什么最好_Jav