首页  >  文章  >  后端开发  >  curl模拟登陆总是弹出验证码不正确

curl模拟登陆总是弹出验证码不正确

WBOY
WBOY原创
2016-06-23 13:27:411163浏览

header("Content-type: text/html; charset=gb2312"); 
$CookieFile=tempnam("./tmep","beast");
if(isset($_GET["img"])){
$url = 'http://jwc.wyu.edu.cn/student/rndnum.asp';//验证码code
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_COOKIEJAR, $CookieFile);//把返回来的cookie信息保存在文件中
curl_exec($ch);
curl_close($ch);
exit();
}
if(isset($_POST['d'])){
$b=$_POST['d'];//验证码
$p="UserCode=3114002555&UserPwd=不告诉你&Validate=".$b."&Submit=提 交";
$ch = curl_init();
// 2. 设置选项,包括URL
$reffer = 'http://jwc.wyu.edu.cn/student/body.htm';
curl_setopt($ch, CURLOPT_REFERER, $reffer);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0");
curl_setopt($ch,CURLOPT_URL, "http://jwc.wyu.edu.cn/student/logon.asp");
curl_setopt($ch,CURLOPT_COOKIEJAR, $CookieFile);
curl_setopt($ch,CURLOPT_COOKIEFILE, $CookieFile);//同时发送Cookie
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, $p);//提交查询信息
$s = curl_exec($ch);
curl_close($ch);
$ch = curl_init();
$reffer = 'http://jwc.wyu.edu.cn/student/body.htm';
curl_setopt($ch, CURLOPT_REFERER, $reffer);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0");
curl_setopt($ch,CURLOPT_URL, "http://jwc.wyu.edu.cn/student/logon.asp");
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
curl_setopt($ch,CURLOPT_COOKIEFILE, $CookieFile);//同时发送Cookie
curl_setopt($ch,CURLOPT_COOKIEJAR, $CookieFile);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, $p);//提交查询信息
$bs = curl_exec($ch);
echo $bs;//输出结果
curl_close($ch);
}else{
?>


curl模拟登陆总是弹出验证码不正确



}
?>


回复讨论(解决方案)

$url = 'http://jwc.wyu.edu.cn/student/';print_r(get_headers($url));
Array
(
    [0] => HTTP/1.1 200 OK
    [1] => Cache-Control: private
    [2] => Connection: close
    [3] => Date: Mon, 24 Aug 2015 11:30:29 GMT
    [4] => Content-Length: 617
    [5] => Content-Type: text/html
    [6] =>  Set-Cookie: ASPSESSIONIDCQAATSAR=HGOCKONAKIMOPBIOFJFHPGFI; path=/
    [7] => Server: IIS
    [8] => X-Powered-By: WAF/2.0
    [9] =>  Set-Cookie: safedog-flow-item=6BFDB3BC0A21C98B7224B81C2C04C934; expires=Mon, 24-Aug-2015 16:00:29 GMT; domain=wyu.edu.cn; path=/
)
访问主页就已经有 session 了,你读验证码时不带上是不行的

怎么带上session,在哪里带上

$url = 'http://jwc.wyu.edu.cn/student/';print_r(get_headers($url));
Array
(
    [0] => HTTP/1.1 200 OK
    [1] => Cache-Control: private
    [2] => Connection: close
    [3] => Date: Mon, 24 Aug 2015 11:30:29 GMT
    [4] => Content-Length: 617
    [5] => Content-Type: text/html
    [6] =>  Set-Cookie: ASPSESSIONIDCQAATSAR=HGOCKONAKIMOPBIOFJFHPGFI; path=/
    [7] => Server: IIS
    [8] => X-Powered-By: WAF/2.0
    [9] =>  Set-Cookie: safedog-flow-item=6BFDB3BC0A21C98B7224B81C2C04C934; expires=Mon, 24-Aug-2015 16:00:29 GMT; domain=wyu.edu.cn; path=/
)
访问主页就已经有 session 了,你读验证码时不带上是不行的



怎么带上 我学没多久,curl弄了很久了  如果可以能告诉下吗

$url = 'http://jwc.wyu.edu.cn/student/';print_r(get_headers($url));
Array
(
    [0] => HTTP/1.1 200 OK
    [1] => Cache-Control: private
    [2] => Connection: close
    [3] => Date: Mon, 24 Aug 2015 11:30:29 GMT
    [4] => Content-Length: 617
    [5] => Content-Type: text/html
    [6] =>  Set-Cookie: ASPSESSIONIDCQAATSAR=HGOCKONAKIMOPBIOFJFHPGFI; path=/
    [7] => Server: IIS
    [8] => X-Powered-By: WAF/2.0
    [9] =>  Set-Cookie: safedog-flow-item=6BFDB3BC0A21C98B7224B81C2C04C934; expires=Mon, 24-Aug-2015 16:00:29 GMT; domain=wyu.edu.cn; path=/
)
访问主页就已经有 session 了,你读验证码时不带上是不行的



可以用curl_setopt($ch,CURLOPT_HTTPHEADER,"Set-Cookie: ASPSESSIONIDCQAATSAR=HGOCKONAKIMOPBIOFJFHPGFI; path=/");带上吗

$url = 'http://jwc.wyu.edu.cn/student/';print_r(get_headers($url));
Array
(
    [0] => HTTP/1.1 200 OK
    [1] => Cache-Control: private
    [2] => Connection: close
    [3] => Date: Mon, 24 Aug 2015 11:30:29 GMT
    [4] => Content-Length: 617
    [5] => Content-Type: text/html
    [6] =>  Set-Cookie: ASPSESSIONIDCQAATSAR=HGOCKONAKIMOPBIOFJFHPGFI; path=/
    [7] => Server: IIS
    [8] => X-Powered-By: WAF/2.0
    [9] =>  Set-Cookie: safedog-flow-item=6BFDB3BC0A21C98B7224B81C2C04C934; expires=Mon, 24-Aug-2015 16:00:29 GMT; domain=wyu.edu.cn; path=/
)
访问主页就已经有 session 了,你读验证码时不带上是不行的


非常感谢 我模拟登陆成功了
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn