验证码 要么人肉要么机器识别,机器识别要根据验证码的特征做处理,没那么简单.人肉嘛做个输入提交,带上cookie.

解决方案 »

  1.   

    我是要人肉输入,验证码已经取到,现在在post的时候返回一个Object moved to here.
    百度了下说是陷入了重定向,不懂爱这里犯迷糊了,不知该如何处理呢?
      

  2.   

    我是要人肉输入,验证码已经取到,现在在post的时候返回一个Object moved to here.
    百度了下说是陷入了重定向,不懂爱这里犯迷糊了,不知该如何处理呢?
      

  3.   

    CURLOPT_FOLLOWLOCATION  有设置这个为1吗?
      

  4.   

    设上果真没了,
    现在是 Bad Request (Invalid Number),这又是什么问题啊
      

  5.   

    经过分析发现,实际登陆地址应该是210.44.176.133,然后被重定向到这样的地址210.44.176.133/(0qus0s55gb1ojp45n2h0sr55)/Default2.aspx,中间括号里的是随机的每次都不同,现在那我应该怎么样去得到这重定向后的地址呢?
    这是我写的方法
    function curl_get_url(){
    $cookie_file=tempnam('./ck','cookie');
    $ch = curl_init("http://210.44.176.133");
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
    curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
    $data = curl_exec($ch);//运行curl
    curl_close($ch);
    return $data;
    }
      

  6.   


    经过分析发现,实际登陆地址应该是210.44.176.133,然后被重定向到这样的地址210.44.176.133/(0qus0s55gb1ojp45n2h0sr55)/Default2.aspx,中间括号里的是随机的每次都不同,现在那我应该怎么样去得到这重定向后的地址呢?
    这是我写的方法
    function curl_get_url(){
    $cookie_file=tempnam('./ck','cookie');
    $ch = curl_init("http://210.44.176.133");
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
    curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
    $data = curl_exec($ch);//运行curl
    curl_close($ch);
    return $data;
    }
      

  7.   

    Request URL:http://210.44.176.133/
    Request Method:GET
    Status Code:302 Found
    Request Headersview source
    Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Accept-Encoding:gzip,deflate,sdch
    Accept-Language:zh-CN,zh;q=0.8
    Cache-Control:max-age=0
    Connection:keep-alive
    Cookie:TTKlinkFirst=1; Hm_lvt_f5127c6793d40d199f68042b8a63e725=1390729405,1390740179,1390790720,1390790808; Hm_lpvt_f5127c6793d40d199f68042b8a63e725=1390791234
    Host:210.44.176.133
    User-Agent:Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36Response Headersview source
    Cache-Control:private
    Connection:close
    Content-Length:158
    Content-Type:text/html; charset=gb2312
    Date:Mon, 27 Jan 2014 02:54:29 GMT
    Location:/(di3bfgq4zqk5c23n2ofovr45)/Default2.aspx
    Server:Microsoft-IIS/6.0
    X-AspNet-Version:1.1.4322
    X-Powered-By:ASP.NET
      

  8.   

    在 curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file); 前面加上
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);你用的是 get 方式,一般登录应该是 post 方式吧你的地址是内网地址,无法测试
    只能你自己慢慢调试了
      

  9.   

    这不是post的地方,是post之前的访问地址,post的时候没有提交cookie,学校是是通过记录那段随机地址来判断用户的应该是,现在就是想得到那个随机地址,这是你登陆页面,登陆后会跳转
    210.44.176.133         --跳转-->  210.44.176.133/(0qus0s55gb1ojp45n2h0sr55)/Default2.aspx
    ,然后在跳转之后的页面提交表单,可是不知道怎样得到这个地址唉