美文网首页
iOS微信机器人研究

iOS微信机器人研究

作者: Jackson_Z | 来源:发表于2018-02-07 14:36 被阅读435次

    webwxinit 报错

    "BaseResponse": {
    "Ret": 1,//或1100
    "ErrMsg": ""
    }
    

    当前微信网页版客户端分两个版本,本站楼主所说的是wx2.qq.com第二版,很多用户登录网页版客户端后会自动跳转到第一版wx.qq.com地址,这个版本跟具体用户绑定的,你们试一下使用网页版微信登录,看看你们出现的地址是第一版还是第二版;第一版微信和第二版请求数据是不一样的。拿登陆后重定向地址来说:第一版地址【https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage?ticket=WXTICKET&uuid=WXUUID&lang=zh_CN&scan=时间字符串前10位数字&fun=new&version=v2】,第二版地址【https://wx2.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage?ticket=WXTICKET&uuid=WXUUID&lang=zh_CN&scan=时间字符串前10位数字】,大写字母为需要给出参数的变量。

    Ret 返回1101,在别处登录了;数据返回空,传参方式错误,是request payload 方式传参,解决如下
    
        /**
       微信初始化
       */
        -(void)webwxinitSuccess:(void(^)(BOOL ret))callback {
        NSString *deviceID = [self getDeviceID];
        NSDictionary *dict = @{ @"Uin": _wxuin,
                                @"Sid": _wxsid,
                                @"Skey": _skey,
                                @"DeviceID":deviceID};
        NSDictionary *para = @{@"BaseRequest":dict};
        NSString *r = [self currentTimeStr];
        NSString *url = [NSString stringWithFormat:@"https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxinit?r=%@&pass_ticket=%@",r,_pass_ticket];
        HPNetWorkTool *manager = [HPNetWorkTool sharedNetworkTool];
        NSMutableURLRequest *request = [manager.requestSerializer requestWithMethod:@"POST" URLString:url parameters:nil error:nil];
        NSData *data = [NSJSONSerialization dataWithJSONObject:para options:NSJSONWritingPrettyPrinted error:nil];
        [request setHTTPBody:data];
    
        __block NSURLSessionDataTask *task = [manager
                                              dataTaskWithRequest:request
                                              completionHandler:^(NSURLResponse * __unused
                                                                  response, id responseObject, NSError *error) {
                                                  if (error) {
                                                      FBLog(@"%@",error);
                                                  } else {
                                                      NSString *str = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
                                                      FBLog(@"str:%@",str);
                                                  }
                                              }];
        
        [task resume];
    
        
        
    }
    

    相关文章

      网友评论

          本文标题:iOS微信机器人研究

          本文链接:https://www.haomeiwen.com/subject/wknozxtx.html