您的位置:首页 > 编程语言 > PHP开发

php模拟post请求 测试api接口

2015-07-29 15:24 676 查看
<?php
/*api接口测试*/
public function testApi()
{
$url = 'http://192.168.1.154/index.php';
$param['app'] = 'api';
$param['mod'] = 'Oauth';
$param['act'] = 'request_key';
$image_url[]  = SITE_PATH.'/20150729.jpg';
$result = $this->request_post($url, $param, $image_url);
$result = json_decode($result);
$result = (array)$result;
var_dump($result);
}
/*post 请求*/
public function request_post($url, $param=array() , $image_url = array())
{
if (empty($url) || empty($param)) {
return false;
}
if(!$image_url)
{
$o = "";
foreach ( $param as $k => $v )
{
$o.= "$k=" . urlencode( $v ). "&" ;
}
$param = substr($o,0,-1);
}
else
{
foreach ($image_url as $k => $file_path)
{
//  image/gif  ;   image/jpeg  ;  image/png
$mime_type = 'image/jpeg';
$file_name = date('Ymd');
$param['file'.$k] = curl_file_create( $file_path, $mime_type, $file_name);
}
}
$postUrl = $url;
$curlPost = $param;
$ch = curl_init();//初始化curl
curl_setopt($ch, CURLOPT_URL,$postUrl);//抓取指定网页
curl_setopt($ch, CURLOPT_HEADER, 0);//设置header 启用时会将头文件的信息作为数据流输出
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//获取的信息以文件流的形式返回,而不是直接输出
curl_setopt($ch, CURLOPT_POST, 1);//post提交方式
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);//curlPost 是数组的时候,Content-Type头将会被设置成multipart/form-data。
$data = curl_exec($ch);//运行curl
curl_close($ch);
return $data;
}
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: