0

我的帖子

个人中心

设置

  发新话题
没有什么比实例更具有说服力的代码了!不用解释,直接看少量的注释就能秒懂哈!
<?php
function simple(){
        $ch = curl_init();                //初始化
        curl_setopt($ch,CURLOPT_URL,"http://www.baidu.com");        //设置要访问的页面
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);                //设置为返回类型为字符串
        curl_setopt($ch,CURLOPT_HEADER,0);                //忽略头部信息

        $output = curl_exec($ch);                //执行访问
        if($output === FALSE ){                //如果访问失败,则返回false
                echo "CURL Error:".curl_error($ch);
        }

        echo $output;                //输出内容

        curl_close($ch);                //关闭句柄
}

function get(){
        $url = 'http://127.0.0.1/php/curl/index.php?id=13&name=qcj';
        $con = curl_init((string)$url);
        curl_setopt($con, CURLOPT_HEADER, false);
        curl_setopt($con, CURLOPT_RETURNTRANSFER,true);
        curl_setopt($con, CURLOPT_TIMEOUT, 5);                //设置超时时间

        echo curl_exec($con);
        curl_close($con);
}

function post($data){
        $con = curl_init('http://127.0.0.1/php/curl/index.php?get=1');
        curl_setopt($con, CURLOPT_HEADER, false);
        curl_setopt($con, CURLOPT_POSTFIELDS, $data);                //设置post参数
        curl_setopt($con, CURLOPT_POST,true);                //默认为false,即get
        curl_setopt($con, CURLOPT_RETURNTRANSFER,true);
        curl_setopt($con, CURLOPT_TIMEOUT,5);
        echo curl_exec($con);
        curl_close($con);
}

//模拟登录
function login_post($url, $cookie, $post) {
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 0);
        curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie);                //保存cookie到本地
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post));        //将键值对数组序列化
        curl_exec($curl);
        curl_close($curl);
}
//登录成功后获取数据
function get_content($url, $cookie) {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
        $rs = curl_exec($ch);
        curl_close($ch);
        return $rs;
}

//simple();
//get();
//$data = 'id=123&name=qcj';
//post($data);

//模拟登陆访问
$post = array ('id' => '14','name' => 'qcj');
$url = "http://127.0.0.1/php/curl/mk_cookie.php";        //模拟登录的地址
$cookie = dirname(__FILE__) . '/cookie.txt';        //设置cookie保存路径
$url2 = "http://127.0.0.1/php/curl/admin.php";        //登录后要获取信息的地址
login_post($url, $cookie, $post);                //模拟登录
$content = get_content($url2, $cookie);                //获取登录页的信息
//@ unlink($cookie);                //如果不删除,就可以看到模拟登陆后的cookie文件
echo $content;



本帖最后由 七彩极 于 2018-3-29 09:24 编辑
index.php代码:

echo 'get:';
var_dump($_GET);

echo 'post:';
var_dump($_POST);


//---------------------------------------------------------------------------

mk_cookie.php代码:

session_start();
$_SESSION['id'] = $_POST['id'];
$_SESSION['name'] = $_POST['name'];



//---------------------------------------------------------------------------

admin.php代码:

session_start();

echo $_SESSION['id'];
echo '<hr />';
echo $_SESSION['name'];



宝剑厉不厉害,要看它的主人是谁,不信来PHP版块看看~!
提示: 作者被禁止或删除 内容自动屏蔽
‹‹ 上一贴:【教程经验】php进修资料:菜鸟变凤凰 ...   |   下一贴:【已解决】下载中文文件内容乱码 ››
  发新话题
快速回复主题
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 友情链接 |意见反馈 | 网站地图
Copyright©2005-2018 51CTO.COM
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系:bbs@51cto.com