美文网首页
curl模拟post请求提交

curl模拟post请求提交

作者: 梦幻_78af | 来源:发表于2017-04-14 21:17 被阅读0次

    header('content-type:text/html;charset=utf-8');

    functioncurlPost($url,$data,$method){

    $ch= curl_init();//1.初始化

    curl_setopt($ch, CURLOPT_URL,$url);//2.请求地址

    curl_setopt($ch, CURLOPT_CUSTOMREQUEST,$method);//3.请求方式

    //4.参数如下

    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);//https

    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

    curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');//模拟浏览器

    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

    curl_setopt($ch, CURLOPT_AUTOREFERER, 1);

    curl_setopt($ch, CURLOPT_HTTPHEADER,array('Accept-Encoding: gzip, deflate'));//gzip解压内容

    curl_setopt($ch, CURLOPT_ENCODING,'gzip,deflate');

    if($method=="POST"){//5.post方式的时候添加数据

    curl_setopt($ch, CURLOPT_POSTFIELDS,$data);

    }

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    $tmpInfo= curl_exec($ch);//6.执行

    if(curl_errno($ch)) {//7.如果出错

    returncurl_error($ch);

    }

    curl_close($ch);//8.关闭

    return$tmpInfo;

    }

    $data=array('name'=>'1234');

    $url="http://www.sohu.com/";

    $method="GET";

    $file=curlPost($url,$data,$method);

    $file=mb_convert_encoding($file,'UTF-8','GBK');

    echo$file;

    当cookie认证登陆的时候

    [php]view plaincopy

    $cookie_file= tempnam('./temp','cookie');

    functionweixinPost($url,$data,$method,$setcooke=false,$cookie_file=false){

    $ch= curl_init();//1.初始化

    curl_setopt($ch, CURLOPT_URL,$url);//2.请求地址

    curl_setopt($ch, CURLOPT_CUSTOMREQUEST,$method);//3.请求方式

    //4.参数如下

    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

    curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');

    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

    curl_setopt($ch, CURLOPT_AUTOREFERER, 1);

    if($method=="POST"){//5.post方式的时候添加数据

    curl_setopt($ch, CURLOPT_POSTFIELDS,$data);

    }

    if($setcooke==true){

    curl_setopt($ch, CURLOPT_COOKIEJAR,$cookie_file);

    }else{

    curl_setopt($ch, CURLOPT_COOKIEFILE,$cookie_file);

    }

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    $tmpInfo= curl_exec($ch);//6.执行

    if(curl_errno($ch)) {//7.如果出错

    returncurl_error($ch);

    }

    curl_close($ch);//8.关闭

    return$tmpInfo;

    }

    $data=array('username'=>'***','password'=>'***');

    $url="http://www.xinxinj.com/login.php";

    $method="POST";

    $file=weixinPost($url,$data,$method,true,$cookie_file);

    echo$file;

    $url="http://www.xinxinj.com/admin.php";

    $method="GET";

    $file=weixinPost($url,$data,$method,false,$cookie_file);

    echo$file;

    ?>

    如果上述还是无法解决,那么采用以下方案

    [php]view plaincopy

    $ch= curl_init();

    $url='*******';

    $header=array(

    'cookie:********'

    );

    // 添加apikey到header

    curl_setopt($ch, CURLOPT_HTTPHEADER  ,$header);

    //curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:50.0) Gecko/20100101 Firefox/50.0');

    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

    curl_setopt($ch, CURLOPT_AUTOREFERER, 1);

    // 执行HTTP请求

    curl_setopt($ch, CURLOPT_URL ,$url);

    $res= curl_exec($ch);

    var_dump($res);

    相关文章

      网友评论

          本文标题: curl模拟post请求提交

          本文链接:https://www.haomeiwen.com/subject/eeegattx.html