V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
eoo
V2EX  ›  PHP

有关 CURL 模拟带验证码登录的问题。

  •  
  •   eoo · 2015-09-13 02:41:01 +08:00 via Android · 4654 次点击
    这是一个创建于 3390 天前的主题,其中的信息可能已经有所发展或是发生改变。
    测试了一个晚上 还是找不出 问题, 验证码我也保存了 , Coookie 我也保存了 可是带着 cookie 和 data 提交 总出现 验证码错误,大神帮忙看看 到底哪里出错了,这大半夜的码代码不容易啊。。。。


    测试链接 http://v.milog.cn/1.php

    测试帐号 eoo 123456


    1.php 代码

    <?php
    header ("content-Type: text/html; charset=utf-8");

    $cookie_file = './cookie.txt';

    //这是验证码地址
    $verify_code_url = 'http://dnszc.ml/index.php?m=Public&a=verify';

    $curl = curl_init ();
    curl_setopt ($curl,CURLOPT_URL,$verify_code_url );
    curl_setopt ($curl,CURLOPT_COOKIEJAR,$cookie_file );
    curl_setopt ($curl, CURLOPT_HEADER,false );
    curl_setopt ($curl,CURLOPT_RETURNTRANSFER,true );
    $img = curl_exec ($curl );
    curl_close ($curl );

    //保存验证码
    file_put_contents ("verifyCode.jpg",$img );


    echo<<<HTML
    <form action="2.php" method="post">
    <p>帐号<input type="text" name="name"></p>
    <p>密码<input type="password" name="password"></p>

    <p>验证<input type="text" name="var"><img src="verifyCode.jpg"/></p>
    <p><input name="submit" type="submit" value="登录"></p>
    </form>
    HTML;
    ?>



    2.php 代码

    <?php

    if ($_POST['submit']){



    print_r ($_POST );

    //POST 登录地址
    $login_url='http://dnszc.ml/index.php?m=Login&a=logining';

    //POST 参数
    $str_data="name={$_POST['name']}&password={$_POST['password']}&verify={$_POST['var']}";


    $ch=curl_init ();
    curl_setopt ($ch,CURLOPT_URL,$login_url );
    curl_setopt ($ch,CURLOPT_HEADER,true );
    curl_setopt ($ch,CURLOPT_TIMEOUT,5 );
    curl_setopt ($ch,CURLOPT_POST,true );
    curl_setopt ($ch,CURLOPT_POSTFIELDS,$str_data );
    //curl_setopt ($ch,CURLOPT_HTTPHEADER,$header );
    curl_setopt ($ch,CURLOPT_COOKIEFILE,$cookie_file );
    //curl_setopt ($ch,CURLOPT_PROXY,"202.194.101.150:80");
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER,false );
    curl_exec ($ch );

    }
    3 条回复    2015-09-13 08:46:48 +08:00
    wtcoder
        1
    wtcoder  
       2015-09-13 04:10:36 +08:00
    2.php 没有赋值 $cookie_file 。。。

    不谢。。
    eoo
        2
    eoo  
    OP
       2015-09-13 08:42:56 +08:00 via Android
    @wtcoder 付了值一个样,问题不是这里。
    eoo
        3
    eoo  
    OP
       2015-09-13 08:46:48 +08:00 via Android
    @wtcoder 我去-_-||,还真是这样~~~ 该死的 UC 浏览器 缓存结果了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5900 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 02:05 · PVG 10:05 · LAX 18:05 · JFK 21:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.