如何CRUL实现自动登录,(不是采集),希望给个简单的例子!!!

解决方案 »

  1.   

    假设你的表单为<form action="http://www.example.org/login.php" method="post">
    <input type="text" name="username" />
    <input type="password" name="password" />
    </form>
    服务器端
    login.php<?php
    if(!empty($_POST['username']) && !empty($_POST['password']))
        setcookie('login', $_POST['username']);
    ?>
    test.php<?php
    if(!empty($_COOKIE['login']))
        echo '已登录为'.$_COOKIE['login'];
    else
        echo '未登录';
    ?>
    curl写法<?php
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://www.example.com/login.php");
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, 'username=myuser&password=mypass');
    curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
    curl_exec($ch);
    curl_close($ch);$ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://www.example.com/test.php");
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
    $ret = curl_exec($ch);
    curl_close($ch);
    echo $ret;// 已登录为myuser
    ?>