Perl 微信模块--Weixin::Client
来源:互联网 发布:sql server 2014 编辑:程序博客网 时间:2024/04/30 14:23
package Weixin::Client;use strict;use File::Spec;use Weixin::Util;use LWP::UserAgent;use Weixin::UserAgent;use LWP::Protocol::https;use base qw( Weixin::Message Weixin::Client::Callback Weixin::Client::Operate Weixin::Client::Friend Weixin::Client::Chatroom Weixin::Client::Request Weixin::Client::Cron Weixin::Client::Plugin Weixin::Client::Base);our $VERSION = "2.0";sub new{ ##$class 是Weixin::Client my $class = shift;##%pdebug0 是传入的my $client = Weixin::Client->new(debug=>0); my %p = @_; my $agent = 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062'; my $tmpdir = File::Spec->tmpdir(); my $cookie_filename = $p{login_file} || "$tmpdir/weixin_client_login.dat"; my $self = { cookie_jar => HTTP::Cookies->new(hide_cookie2=>1,file=>$cookie_filename,autosave=>1), debug => $p{debug}, _token => {}, _watchers => {}, _intervals => {}, _synccheck_error_count => 0, _synccheck_running => 0, _sync_running => 0, _sync_interval => 1, _synccheck_interval => 1, _send_msg_interval => 4, _last_sync_time => undef, _last_synccheck_time => undef, _send_message_queue => Weixin::Message::Queue->new, _receive_message_queue => Weixin::Message::Queue->new, _data => { user => {}, friend => [], chatroom => [], }, on_run => undef, on_receive_msg => undef, on_send_msg => undef, is_stop => 0, plugin_num => 0, plugins => {}, ua_retry_times => 5, tmpdir => $tmpdir, client_version => $VERSION, }; $self->{ua} = LWP::UserAgent->new( cookie_jar => $self->{cookie_jar}, agent => $agent, timeout => 300, ssl_opts => {verify_hostname => 0}, ); $self->{asyn_ua} = Weixin::UserAgent->new( cookie_jar => $self->{cookie_jar}, agent => $agent, request_timeout => 300, inactivity_timeout => 300, ); if($self->{debug}){ $self->{ua}->add_handler(request_send => sub { my($request, $ua, $h) = @_; print $request->as_string; return; }); $self->{ua}->add_handler( response_header => sub { my($response, $ua, $h) = @_; print $response->as_string; return; }); $self->{ua}->add_handler( response_done => sub { my($response, $ua, $h) = @_; print substr($response->content,0,1000),"\n" if $response->header("content-type")=~/^text/; return; }); }##bless bless 的好处在于它提供给我们一种直接使用该对象的方式,如: bless后 $self 作为方法的第一个参数#sub add_friend{ #my $self = shift; #my $friend = shift;#在这里,它是RegularEmployee.Perl于是就会如下所示调用这个函数 RegularEmployee::promote($emp1) #换句话说,箭头左边的对象只是作为相应子例程的第一个参数。# bless $self,$class; $self->prepare(); return $self;}1;
0 0
- Perl 微信模块--Weixin::Client
- perl安装Weixin::Client 模块依赖问题
- WeiXin Share{微信分享}
- perl weixin 获取uuid
- perl weixin 登陆
- perl weixin webwxinit 接口
- perl weixin webwxbatchgetcontact 接口
- perl weixin synccheck接口
- perl weixin webwxsync
- perl weixin获取验证码
- perl weixin 获取好友信息
- Senparc.Weixin.MP SDK 微信公众平台开发教程
- 微信分享 使用weixin js sdk 兼容 旧版本
- 微信公众平台开发利器-weixin-knife(Python版)
- 微信公众平台开发利器-weixin-knife(Python版)
- P3-weixin 微信插件式开发规范
- 微信公共平台API node-weixin-api编辑/纠错
- 微信支付(使用weixin java tools)
- sql文件导入powerdesigner
- MAC 挂载 NTFS
- iOS数据库的队列与事务
- UDP打洞原理
- Linux开发环境复习
- Perl 微信模块--Weixin::Client
- 1.4.4 Cookies
- 基于暗通道去雾算法的实现与优化(三)优化策略
- PopupWindow 弹窗里显示listview并设置监听
- 如果你看不到.git目录{mac}
- BigDecimal处理精确计算问题
- mongodb 常用语句
- 蓝桥杯 BASIC-201字串 循环
- Android消息处理机制(Handler、Looper、MessageQueue与Message)