line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
sub Mojo::Webqq::Message::_get_sess_sig { |
2
|
0
|
|
|
0
|
|
|
my $self = shift; |
3
|
0
|
|
|
|
|
|
my($id,$to_uin,$service_type,) = @_; |
4
|
0
|
|
|
|
|
|
my $cache_data = $self->sess_sig_cache->retrieve("$id|$to_uin|$service_type"); |
5
|
0
|
0
|
|
|
|
|
return $cache_data if defined $cache_data; |
6
|
0
|
|
|
|
|
|
my $api_url = 'http://d1.web2.qq.com/channel/get_c2cmsg_sig2'; |
7
|
0
|
|
|
|
|
|
my @query_string = ( |
8
|
|
|
|
|
|
|
id => $id, |
9
|
|
|
|
|
|
|
to_uin => $to_uin, |
10
|
|
|
|
|
|
|
service_type => $service_type, |
11
|
|
|
|
|
|
|
clientid => $self->clientid, |
12
|
|
|
|
|
|
|
psessionid => $self->psessionid, |
13
|
|
|
|
|
|
|
t => time, |
14
|
|
|
|
|
|
|
); |
15
|
0
|
|
|
|
|
|
my $headers = {Referer=>'http://d1.web2.qq.com/proxy.html?v=20151105001&callback=1&id=2',json=>1}; |
16
|
0
|
|
|
|
|
|
my $json = $self->http_get($self->gen_url($api_url,@query_string),$headers); |
17
|
0
|
0
|
|
|
|
|
return undef unless defined $json; |
18
|
0
|
0
|
|
|
|
|
return undef if $json->{retcode}!=0; |
19
|
0
|
0
|
|
|
|
|
return undef if $json->{result}{value} eq ""; |
20
|
0
|
|
|
|
|
|
$self->sess_sig_cache->store("$id|$to_uin|$service_type",$json->{result}{value},300); |
21
|
0
|
|
|
|
|
|
return $json->{result}{value} ; |
22
|
|
|
|
|
|
|
} |
23
|
|
|
|
|
|
|
1; |