• php curl 实例


      1转自phpchina 一个人的回答,又搜不到了。。。。   做模拟登录时火狐浏览器的Httpfox和Firebug两个插件真心好使啊,嗯,神器
      2
      3 
      4 /*------------------------简单的测试------------------------------------------------start*/
      5   /*
      6   $ch = curl_init();                      //开启curl语柄
      7 
      8   curl_setopt($ch, CURLOPT_URL, "http://localhost/curl_server/index.php?id=1");      //设置提交链接
      9   curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);                                        //设置服务端返回的数据是否返回数据 0为不返回
     10                                                                                      //                                 1为返回
     11   curl_setopt($ch, CURLOPT_HEADER, 0);                                               //是否返回相应头信息   0为不返回   1为返回
     12   $output = curl_exec($ch);
     13   echo $output."============";
     14 
     15 
     16 //  测试链接是否可用
     17 // curl_exec($ch);
     18 // $data=curl_getinfo($ch);
     19 // if($data['http_code']==404){
     20 //           echo "server error";
     21 // }
     22 */
     23 /*----------------------简单的测试------------------------------------------------------end*/
     24 
     25 
     26 /*------------------------模拟post提交------------------------------------------------start*/
     27 /*
     28 header("Content-Type: text/html; charset=utf-8");
     29 $post_data=array('user_name'=>"卫江涛",
     30                  'user_pass'=>"超级魂斗罗加强版");
     31 
     32 $ch = curl_init();
     33 curl_setopt($ch, CURLOPT_URL, "http://localhost/curl_server/index.php");
     34 curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
     35 curl_setopt($ch, CURLOPT_HEADER, 0);
     36 curl_setopt($ch,CURLOPT_POST,1);                                                   // 是否使用post提交
     37 curl_setopt($ch,CURLOPT_POSTFIELDS, $post_data);                                   // post所要提交的数据
     38 
     39 $output=curl_exec($ch);
     40 $return_data=json_decode($output,true);
     41 var_dump($return_data);
     42 */
     43 /*
     44 */
     45 /*------------------------模拟post提交------------------------------------------------end*/
     46 
     47 
     48 /*----------------------图片上传------------------------------------------------------end*/
     49 /*
     50 $post_data=array('user_name'=>"卫江涛",
     51                  'fff'=>'@F:\SteelLand\apache_web\curl_client\1.jpg'            //此处必须为绝对路径
     52                  );
     53 $ch = curl_init();
     54 curl_setopt($ch, CURLOPT_URL, "http://localhost/curl_server/index.php");
     55 curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
     56 curl_setopt($ch, CURLOPT_HEADER, 0);
     57 curl_setopt($ch,CURLOPT_POST,1);                                                   // 是否使用post提交
     58 curl_setopt($ch,CURLOPT_POSTFIELDS, $post_data);                                   // post所要提交的数据
     59 
     60 $output=curl_exec($ch);
     61 
     62 var_dump($output);
     63 */
     64 
     65 /*----------------------图片上传------------------------------------------------------end*/
     66 
     67 /*----------------------curl模拟登录------------------------------------------------------start*/
     68 header("Content-Type: text/html; charset=utf-8");
     69 
     70 //第一步生成cookie
     71 //$cookie_file = tempnam('./temp','cookie');     //生成cookie文件存放sessionid
     72 /*
     73 $ch = curl_init();
     74 curl_setopt($ch, CURLOPT_URL, "http://localhost/curl_server/index.php");
     75 curl_setopt($ch, CURLOPT_HEADER, 0);
     76 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     77 curl_setopt($ch, CURLOPT_POST, 1);
     78 curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);  //当连接关闭后 存放cookie的文件
     79 curl_exec($ch);
     80 curl_close($ch);
     81 */
     82 
     83 
     84 //第二步利用生成的cookie进行登录  /*此处的文件路径必须为绝对路径  否则失效*/
     85 /*
     86 $cookie_file = 'F:\SteelLand\apache_web\curl_client\temp\coo27D1.tmp';
     87 $ch = curl_init();
     88 curl_setopt($ch, CURLOPT_URL, "http://localhost/curl_server/index1.php");
     89 curl_setopt($ch, CURLOPT_HEADER, 0);
     90 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     91 curl_setopt($ch, CURLOPT_POST, 1);
     92 curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);  //设置使用cookie的文件
     93 
     94 $output=curl_exec($ch);
     95 curl_close($ch);
     96 
     97 echo $output;
     98 
     99 */
    100 /*
    101 $json=json_encode(array("a"=>"b","c"=>"d"));
    102 $post_data=array('user_name'=>"卫江涛",
    103                  'user_pass'=>$json);
    104 
    105 $ch = curl_init();
    106 curl_setopt($ch, CURLOPT_URL, "http://localhost/curl_server/index.php");
    107 curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    108 curl_setopt($ch, CURLOPT_HEADER, 0);
    109 curl_setopt($ch,CURLOPT_POST,1);                                                   // 是否使用post提交
    110 curl_setopt($ch,CURLOPT_POSTFIELDS, $post_data);                                   // post所要提交的数据
    111 
    112 $output=curl_exec($ch);
    113 echo $output;
    114 */
    115 
    116 //$data = array("name" => "Hagrid", "age" => "36");
    117         //$data_string = json_encode($data);
    118     $data_string="<?xml version='1.0' encoding='UTF-8'?><message>dfdffdf</message>";
    119 
    120         $ch = curl_init('http://localhost/curl_server/index.php');
    121         //curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    122         curl_setopt($ch, CURLOPT_POSTFIELDS,$data_string);
    123         curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
    124         curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    125             'Content-Type: text/xml',
    126             'Content-Length: ' . strlen($data_string))
    127         );
    128       curl_setopt($ch, CURLOPT_USERAGENT,"xxxxxxxxxxxxx");
    129         $result = curl_exec($ch);
    130 
    131     echo $result;
    132 /*----------------------curl模拟登录------------------------------------------------------end*/
    133 ?>
  • 相关阅读:
    优雅的python 写排序算法
    web快速开发c/s软件构架
    软件需求分析模板
    软件工程方面常用图定义和符号
    http协议本身能获取客户端Mac地址问题
    转 苹果的新编程语言 Swift 简介
    转 程序员思维
    转 A Week with Mozilla's Rust
    Unix哲学
    Rule of Modularity
  • 原文地址:https://www.cnblogs.com/cangzhou/p/3113914.html
Copyright © 2020-2023  润新知