line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
sub Mojo::Webqq::Client::_check_verify_code{ |
2
|
0
|
|
|
0
|
|
|
my $self = shift; |
3
|
0
|
0
|
|
|
|
|
return 1 if $self->login_type eq "qrlogin"; |
4
|
0
|
0
|
|
|
|
|
$self->info("检查验证码...") if $self->login_type eq "login"; |
5
|
0
|
|
|
|
|
|
my $api_url = 'https://ssl.ptlogin2.qq.com/check'; |
6
|
0
|
|
|
|
|
|
my $headers = {Referer=>'https://xui.ptlogin2.qq.com/cgi-bin/xlogin?daid=164&target=self&style=40&pt_disable_pwd=1&mibao_css=m_webqq&appid=501004106&enable_qlogin=0&no_verifyimg=1&s_url=http%3A%2F%2F' . $seld->domain . '%2Fproxy.html&f_url=loginerroralert&strong_login=1&login_state=10&t=20131024001'}; |
7
|
|
|
|
|
|
|
|
8
|
0
|
0
|
|
|
|
|
my @query_string = ( |
9
|
|
|
|
|
|
|
regmaster => '', |
10
|
|
|
|
|
|
|
pt_tea => ($self->login_type eq "qrlogin"?2:1), |
11
|
|
|
|
|
|
|
pt_vcode => 1, |
12
|
|
|
|
|
|
|
uin => $self->account, |
13
|
|
|
|
|
|
|
appid => 501004106, |
14
|
|
|
|
|
|
|
js_ver => 10233, |
15
|
|
|
|
|
|
|
js_type => 1, |
16
|
|
|
|
|
|
|
login_sig => $self->pt_login_sig, |
17
|
|
|
|
|
|
|
u1 => 'http%3A%2F%2F' . $self->domain . ' %2Fproxy.html', |
18
|
|
|
|
|
|
|
r => rand(), |
19
|
|
|
|
|
|
|
pt_uistyle => 40, |
20
|
|
|
|
|
|
|
pt_jstoken => 485008785, |
21
|
|
|
|
|
|
|
); |
22
|
|
|
|
|
|
|
|
23
|
|
|
|
|
|
|
#$self->ua->cookie_jar->add( |
24
|
|
|
|
|
|
|
# Mojo::Cookie::Response->new( |
25
|
|
|
|
|
|
|
# name => "chkuin", |
26
|
|
|
|
|
|
|
# value => $self->uid, |
27
|
|
|
|
|
|
|
# domain => "ptlogin2.qq.com", |
28
|
|
|
|
|
|
|
# path => "/", |
29
|
|
|
|
|
|
|
# ) |
30
|
|
|
|
|
|
|
#); |
31
|
0
|
|
|
|
|
|
my $content = $self->http_get($self->gen_url($api_url,@query_string),$headers); |
32
|
0
|
0
|
|
|
|
|
return 0 unless defined $content; |
33
|
0
|
|
|
|
|
|
my %d = (); |
34
|
0
|
|
|
|
|
|
@d{qw( retcode cap_cd md5_salt ptvfsession isRandSalt)} = $content=~/'(.*?)'/g ; |
35
|
|
|
|
|
|
|
$self->md5_salt($d{md5_salt}) |
36
|
|
|
|
|
|
|
->cap_cd($d{cap_cd}) |
37
|
|
|
|
|
|
|
->isRandSalt($d{isRandSalt}) |
38
|
0
|
|
|
|
|
|
->pt_verifysession($d{ptvfsession}); |
39
|
0
|
0
|
|
|
|
|
if($d{retcode} ==0){ |
|
|
0
|
|
|
|
|
|
40
|
0
|
0
|
|
|
|
|
$self->info("检查结果: 很幸运,本次登录不需要验证码") if $self->login_type eq "login"; |
41
|
0
|
|
|
|
|
|
$self->verifycode($d{cap_cd}); |
42
|
|
|
|
|
|
|
} |
43
|
|
|
|
|
|
|
elsif($d{retcode} == 1){ |
44
|
0
|
0
|
|
|
|
|
$self->info("检查结果: 需要输入图片验证码")->is_need_img_verifycode(1) if $self->login_type eq "login"; |
45
|
|
|
|
|
|
|
} |
46
|
0
|
|
|
|
|
|
return 1; |
47
|
|
|
|
|
|
|
} |
48
|
|
|
|
|
|
|
1; |