• perl weixin webwxinit 接口


    <pre name="code" class="python">https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxinit?
    r=1921102163
    &pass_ticket=ovyLkGVM8W6lUAbZpt%252BhgJdeomQYRPOu8yf6FkW%252B7GE5Meq4S3qn4Qz%252FQyD64vsD
    
    参数;
    pass_ticket	ovyLkGVM8W6lUAbZpt%2BhgJdeomQYRPOu8yf6FkW%2B7GE5Meq4S3qn4Qz%2FQyD64vsD
    r	        1921102163
    
    JSON:
    
    BaseRequest Object { Uin="1284510822",  Sid="zJpU4C7YK9KeMmQ0",  Skey="@crypt_597aeefd_95352fe37541ae84f1c15b4d8a86e710",  更多...}
    	
    DeviceID	"e290361266006370"
    	
    Sid        "zJpU4C7YK9KeMmQ0"
    	
    Skey       "@crypt_597aeefd_95352fe37541ae84f1c15b4d8a86e710"
    	
    Uin        "1284510822"
    
    返回:
    
    webwxinit是显示你微信首屏上的近期联系人 包括最近聊天的好友和群组
    
    可能不会显示群成员信息
    
    "BaseResponse": {
    "Ret": 0,
    "ErrMsg": ""
    }
    ,
    "Count": 11,
    "ContactList": [{
    
    "UserName": "filehelper",
    "NickName": "文件传输助手
    
    "UserName": "@@afabc51b74c3eb4c9941a6da70f20b072799b09a06e16eb8f193025b75d2425b",
    "NickName": "云霁大会现场群",
    
    "UserName": "@@b3a5e222726a2eb2329065f83a2a01bb9d7e553b5695c155597147653d477c00",
    "NickName": "中均-p2g开发",
    
    "UserName": "newsapp",
    "NickName": "腾讯新闻"
    
    
    "Uin": 0,
    "UserName": "weixin",
    "NickName": "微信团队",
    
    "UserName": "@b506a484e1b82246124c283a7daff85d",
    "NickName": "积分联盟",
    
    "UserName": "@@f786bc5ff6f8501e745f0b82b480ac22a698349cd5d4ce645af81ce1afc1f7c2",
    "NickName": "技术改革工作办公室",
    
    "UserName": "@294b2f5030f2c47712f1701f7cd43158", ###微信好友
    "NickName": "天使的风衣",
    
    
    返回:
    "SyncKey": {
    "Count": 4,
    "List": [{
    "Key": 1,
    "Val": 646985545
    }
    ,{
    "Key": 2,
    "Val": 646985575
    }
    ,{
    "Key": 3,
    "Val": 646985306
    }
    ,{
    "Key": 1000,
    "Val": 1454062118
    }
    ]
    }
    ,
    
    
    Perl程序:
    
    @chatroom_id=();
    #my $response= $browser->post("https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxinit", [ "r" => "-$now","lang" => "zh_CN","pass_ticket"=>"$pass_ticket"]); #多加了
    $login_url="https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxinit?r=-1816029078&lang=zh_CN&pass_ticket=$pass_ticket";
    my $post = {
    BaseRequest =>  {
                Uin         =>  $wxuin,
                Sid         =>  $wxsid,
                Skey        =>  $Skey,
                DeviceID    =>  $DeviceID,
            }
    };
    use JSON qw(encode_json);
    $json_string = encode_json($post);
    
    my $req = HTTP::Request->new('POST' => $login_url,[ 'r'=>"-$now", 'lang'=>'zh_CN', 'pass_ticket'=>"$pass_ticket"]);
    $req->referer("https://wx.qq.com/?&lang=zh_CN");
    $req->content_type('application/json; charset=UTF-8');#post请求,如果有发送参数,必须要有这句  
    $req->content("$json_string");#发送post的参数  
    my $res = $ua->request($req);
    #print "-------------init-----------------
    ";
    #print $res->status_line."
    ";  
    #print $res->as_string();#获取的是原始内容,包括响应头,响应正文  
    #print $res->content();#获取的是响应正文
    $d=$res->content();
    
    
    
    
    返回的json 需要转换为数组:
    
    {
    "BaseResponse": {
    "Ret": 0,
    "ErrMsg": ""
    }
    ,
    "Count": 11,
    "ContactList": [{
    "Uin": 0,
    "UserName": "filehelper",
    "NickName": "文件传输助手",
    "HeadImgUrl": "/cgi-bin/mmwebwx-bin/webwxgeticon?seq=638861246&username=filehelper&skey=@crypt_597aeefd_95352fe37541ae84f1c15b4d8a86e710"
    ,
    "ContactFlag": 3
    ]}}
    
    
    $d=encode_utf8($d);
    $d = decode_json($d);
    
    use Data::Dumper;
    
      my $var= Dumper($d);
      #print $var;
    
    foreach $m (@{$d->{ContactList}}){
    #print "----------------
    ";
    #print $m->{UserName};
    if ($m->{UserName} =~/@@/){
    push (@chatroom_id ,$m->{UserName});
    };
    print "
    ";
    
    };


    
                                        
    
  • 相关阅读:
    解决Web部署 svg/woff/woff2字体 404错误
    Quartz.NET 2.0 作业调度框架使用
    【转】计算机专业不是学编程
    webstorm 上传代码到git
    关于element-ui在打包后图标不显示的问题
    【转】iOS lame编译 arm64 armv7s armv7 x86_64 i386指令集
    SQL Server存储过程简介
    JQuery EasyUI设置input文本框disabled, readonly属性
    ObjectListView控件介绍及C# Demo实现
    WCF 中wsHttpBinding配置实例程序
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13351050.html
Copyright © 2020-2023  润新知