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; } ?>
相关文章推荐
- PHP模拟QQ登录的方法
- PHP Fuzzing行动——源码审计 黑客注入防范
- PHP 常用正则汇总
- PHP模拟表单的post请求实现登录
- PHP实现动态web服务器方法
- php调用淘宝开放API实现根据卖家昵称获取卖家店铺ID的方法
- TP框架中隐藏的预处理函数,前置钩子
- php 正则表达式捕获组与非捕获组
- php简单防盗链实现方法
- 如何用PHP来实现一个动态Web服务器
- laravel5的坑
- cookie 在php中的实现
- PHP Cookies
- php的各种配置
- PHP实现简单汉字验证码
- WIN7搭建NTP服务器
- ftp服務器
- php中 $$str 中 "$$" 的解释
- PHP大小写敏感问题
- Client访问控制和Cyrus sasl认证.doc