利用微信机器人 自动发送验证码

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               
<pre name="code" class="sql"> use Weixin::Clientuse Encode; #目前只能用于群回复    my $client = Weixin::Client->new(debug=>0);    #加载ShowMsg插件,用于打印消息    $client->load("ShowMsg");    #客户端登录    $client->login();       #设置客户端接收消息回调函数    $client->on_receive_msg = sub{      my $msg = shift ;     # my ($client,$msg)=@_; ## 消息内容        #打印收到的消息  $client->call("ShowMsg",$msg); $recm= $msg->{Content};    $recm=encode("gbk",decode("utf8","$recm"));  if   ($recm =~/中均\s+\d{11}/i){        $recm =~ s/^\s+//;        $number =(split(/\s+/,"$recm"))[1];$i=0;@arr=();@tmp1=();@tmp2=();use Encode;open (LOG1 ,"<",'\\\\192.168.32.101\log01\zj-api01-catalina.out') or die  $!;                    while (<LOG1>) {                             if (($_ =~/$number/) and ($_ =~/SMSSendThread/i) ){$str=encode("gbk",decode("utf8","$_"));             # print "\$str is $str\n";       next if ($str !~ /验证/);     push (@tmp1 ,$str);     }};          close LOG1;                    open (LOG2 ,"<",'\\\\192.168.32.101\log01\zj-api02-catalina.out') or die  $!;                    while (<LOG2>) {                             if (($_ =~/$number/) and ($_ =~/SMSSendThread/i)  ){$str=encode("gbk",decode("utf8","$_"));              print "\$str is $str\n";        next if ($str !~ /验证/);     push (@tmp2  ,$str);     }};           close LOG2;     #print "\$tmp1[-1] is $tmp1[-1]\n";          #print "\$tmp2[-1] is $tmp2[-1]\n";  @arr=($tmp1[-1], $tmp2[-1]);      print "\@arr is @arr\n";  if  (defined($tmp1[-1]) or  defined($tmp2[-1])){foreach (@arr){  ##2015-11-04 15:51:54,134 DEBUG com.zjzc.thirdparty.sms.SMSSendThread    if ($_ =~  /([0-9]{4}-[0-9]{1,2}-[0-9]{2}\s+[0-9]{2}:[0-9]{2}:[0-9]{2}.*?)\s+(.*?Send message:)\s*(.*?)(to\s+phoneNo:\s*[0-9]{11}).*/){  $a1=$1; $a2=$2; $a3=$3; $a4=$4; print "\$a1 is $a1\n";# print "\$a2 is $a2\n";        print "\$a3 is $a3\n"; print "\$a4 is $a4\n"; ##微信是UTF-8字符集 if ($a3 =~/验证/){ $a3=encode("utf8",decode("gbk","$a3")); $client->reply_msg($msg,"$a1-$a3-$a4")}};# $client->reply_msg($msg,$number)           }}else{$a5=encode("utf8",decode("gbk","没有找到需要的验证码信息"));$client->reply_msg($msg,"$a5")};}        #对收到的消息,以相同的内容回复elsif ($recm =~/温金\s+\d{11}/i){  $recm =~ s/^\s+//;$number =(split(/\s+/,"$recm"))[1];    $i=0;@arr=();@tmp1=();@tmp2=();use Encode;open (LOG1 ,"<",'\\\\192.168.32.101\log01\wj-api01-catalina.out') or die  $!;                    while (<LOG1>) {                             if (($_ =~/$number/) and ($_ =~/SMSSendThread/) ){$str=encode("gbk",decode("utf8","$_"));              print "\$str is $str\n";       next if ($str !~ /验证/);     push (@tmp1 ,$str);     }};          close LOG1;                    open (LOG2 ,"<",'\\\\192.168.32.101\log01\wj-api02-catalina.out') or die  $!;                    while (<LOG2>) {                             if (($_ =~/$number/) and ($_ =~/SMSSendThread/)  ){$str=encode("gbk",decode("utf8","$_"));              print "\$str is $str\n";        next if ($str !~ /验证/);     push (@tmp2  ,$str);     }};           close LOG2;     print "\$tmp1[-1] is $tmp1[-1]\n";          print "\$tmp2[-1] is $tmp2[-1]\n";  @arr=($tmp1[-1], $tmp2[-1]);      print "\@arr is @arr\n";  if  (defined($tmp1[-1]) or  defined($tmp2[-1])){foreach (@arr){  ##2015-11-04 15:51:54,134 DEBUG com.zjzc.thirdparty.sms.SMSSendThread    if ($_ =~  /([0-9]{4}-[0-9]{1,2}-[0-9]{2}\s+[0-9]{2}:[0-9]{2}:[0-9]{2}.*?)\s+(.*?Send message:)\s*(.*?)(to\s+phoneNo:\s*[0-9]{11}).*/){  $a1=$1; $a2=$2; $a3=$3; $a4=$4; print "\$a1 is $a1\n";# print "\$a2 is $a2\n";        print "\$a3 is $a3\n"; print "\$a4 is $a4\n"; ##微信是UTF-8字符集 if ($a3 =~/验证/){ $a3=encode("utf8",decode("gbk","$a3")); $client->reply_msg($msg,"$a1-$a3-$a4")}};# $client->reply_msg($msg,$number)}}else{$a5=encode("utf8",decode("gbk","没有找到需要的验证码信息"));$client->reply_msg($msg,"$a5")};          }elsif($recm =~/gp\s+\d{1,11}/i){    $recm =~ s/^\s+//;$number =(split(/\s+/,"$recm"))[1];use  LWP::UserAgent; my $ua = LWP::UserAgent->new;$ua->timeout(10);$ua->env_proxy;$ua->agent("Mozilla/8.0");my $response = $ua->get("http://hq.sinajs.cn/list=sh$number");$gupiao=$response->decoded_content;if ($response->is_success) { print $response->decoded_content;  # or whatever}else { die $response->status_line;}$price =(split(/,/,"$gupiao "))[3];$var= "$recm  当前价格是$price";print "$recm  当前价格是$price\n";$var=encode("utf8",decode("gbk","$var"));if (defined($price)){$client->reply_msg($msg,"$var")}else{my $response = $ua->get("http://hq.sinajs.cn/list=sz$number");$gupiao=$response->decoded_content;$price =(split(/,/,"$gupiao "))[3];$var= "$recm  当前价格是$price";print "$recm  当前价格是$price\n";$var=encode("utf8",decode("gbk","$var")); if (defined($price)){     $client->reply_msg($msg,"$var")} else{reply_msg($msg,"not suport")}}};#else {$a5=encode("utf8",decode("gbk","格式为:中均/温金 客户手机号"));$client->reply_msg($msg,"$a5")};    #设置客户端发送消息回调函数    $client->on_send_msg = sub {         my $msg = shift;     #  打印发送的消息    $client->call("ShowMsg",$msg);             }};    #客户端进入事件循环,开始运行     $client->run();


 
  
            
 

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

这里写图片描述

猜你喜欢

转载自blog.csdn.net/trigfj/article/details/84195730