php中的curl常用例子

1.基本请求

<?php  
    $ch = curl_init();  
    curl_setopt($ch, CURLOPT_URL, "http://www.baidu.com");  
    curl_setopt($ch, CURLOPT_HEADER, false);  // 如果返回乱码,可以把false改为 array('content-type: application/x-www-form-urlencoded; charset=UTF-8')
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //为true时,会把结果存起来,为false时,会直接把结果输出  
    $result=curl_exec($ch);  
    curl_close($ch);  
?>

 

2.使用代理

<?php  
    $ch = curl_init();  
    curl_setopt($ch, CURLOPT_URL, "http://www.baidu.com");  
    curl_setopt($ch, CURLOPT_HEADER, false);  
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
    curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE);  
    curl_setopt($ch, CURLOPT_PROXY, 125.21.23.6:8080);  
    //url_setopt($ch, CURLOPT_PROXYUSERPWD, 'username:password');如果需要代理账号密码时带上  
    $result=curl_exec($ch);  
    curl_close($ch);  
?> 

 

3.带上数据

<?php  
     $ch = curl_init();  
     $data = array('name' => 'test', 'sex'=>1,'birth'=>'20101010');  
     $data = http_build_query($data); // 生成 url_encode 之后的请求字符串
     curl_setopt($ch, CURLOPT_URL, 'http://www.baidu.com');  
     // get请求方式 直接把参数拼接到 url 后面,把下面两句去掉
     curl_setopt($ch, CURLOPT_POST, 1);  
     curl_setopt($ch, CURLOPT_POSTFIELDS, $data);  
     curl_exec($ch);  
?>  

4.模拟登陆,保存cookie

<?php
    $cookie_jar = $_SERVER['DOCUMENT_ROOT'].'/test.cookie'; // cookie文件目录
    $url = "http://www.baidu.com/doLogin";
    $data = array('username'=>'username','passowrd'=>'password');
    $data = http_build_query($data);
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar);
    $content = curl_exec($ch);
    curl_close($ch);
    // 接下来进入需要登录的页面时带上 $cookie_jar 就可以直接进入了
?>

5.带上cookie进入需要登录的页面

<?php$http_hearder = array('Content-type:application/json;charset=UTF-8','Authorization:Basic YWRtaW46YWRtaW4=');
    $cookie_jar = $_SERVER['DOCUMENT_ROOT'].'/test.cookie'; // cookie文件目录
    $ch = curl_init ();
    curl_setopt($ch, CURLOPT_HTTPHEADER, $http_hearder);
    curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
    // curl_setopt($ch, CURLOPT_COOKIE, "devckie=test");  // 设置cookie
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); // 不验证HOST
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // 不验证证书
    curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );   //  返回数据
    $result = curl_exec ( $ch );
    curl_close ( $ch );
?>

 

posted @ 2016-12-26 14:28  大鱼海棠8  阅读(287)  评论(0编辑  收藏  举报