当前位置:首页 > PHP教程 > php应用 > 列表

CURL模拟POST提交的二种方法实例

发布:smiling 来源: PHP粉丝网  添加日期:2015-04-09 12:58:28 浏览: 评论:0 

CURL应用广范,本文来介绍CURL模拟POST提交的二种方法实例,他们都是返回json字符串格式.

方法一,返回的是json字符串格式,代码如下:

  1. /** 
  2. * Curl版本 
  3. * 使用方法: 
  4. * $post_string = "app=request&version=beta"; 
  5. * request_by_curl('http://facebook.cn/restServer.php',$post_string); 
  6. */ 
  7.  
  8. function actionPost($url,$data){ // 模拟提交数据函数 
  9.     $curl = curl_init(); // 启动一个CURL会话 
  10.     curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址 
  11.     curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查 
  12.     curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在 
  13.     curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器 
  14.     curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转 
  15.     curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer 
  16.     curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求 
  17.     curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包 
  18.     curl_setopt($curl, CURLOPT_COOKIEFILE, 'cookie.txt'); // 读取上面所储存的Cookie信息 
  19.     curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环 
  20.     curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容 
  21.     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回 
  22.     $tmpInfo = curl_exec($curl); // 执行操作 
  23.     if (curl_errno($curl)) { 
  24.     echo 'Errno'.curl_error($curl); 
  25.     }//开源软件:phpfensi.com 
  26.     curl_close($curl); // 关键CURL会话 
  27.     return $tmpInfo// 返回数据 

方法二,返回的是json字符串格式,代码如下:

  1. function actionCurl($remote_server$post_string){ 
  2.     $ch = curl_init(); 
  3.     curl_setopt($ch, CURLOPT_POST, 1); 
  4.     curl_setopt($ch, CURLOPT_HEADER, 0); 
  5.     curl_setopt($ch, CURLOPT_URL,$remote_server); 
  6.     //为了支持cookie 
  7.     curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); 
  8.     curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string); 
  9.     $result = curl_exec($ch); 
  10.     return $result
  11. }

Tags: CURL模拟 POST提交

分享到: