iOS开发之注册登录 (需要服务器支持)

本人第一个接手的模块是注册登陆模块 由于各个软件需求算法不同 加密算法省略 (多为SHA256 AES256)

着重写一下网络请求

代码如下

NSString *loginInfoString = [NSString stringWithFormat:@"xml=%@#%s#%s#", /*账号字符串*/, /*AES密码字符串*/, /*密码字符串*/;                                                                                           //拼接字符串
      
 NSLog(@"login send info :%@", loginInfoString);                                   //发送请求字符串
     
 NSString *post = loginInfoString;
 NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];          //返回一个对象,使用了给定编码其中包含NSData接收                                                               机编码的一种表示方法。 
 NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];                         //字符串长度
     
 NSString *strUDID = [UIDevice currentDevice].uniqueIdentifier;                                       //获取机器UDID
 NSArray *array = [strUDID componentsSeparatedByString:@"-"];                                         //分隔符
 NSMutableString *strNewString = [[NSMutableString alloc] initWithCapacity:20];                       
 for(NSString *subString in array)
 {
       [strNewString appendString:subString];                                                             
 }
     
 NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
 NSMutableDictionary *dicHeader = [NSMutableDictionary dictionary];                                   //字典对象用来存SN,UDID
 [dicHeader setValue:CJH_PUBLUIC_SN forKey:@"Sn"];                                                    //获取SN
 [dicHeader setValue:strNewString forKey:@"UDID"];                                                    //获取UDID
 [dicHeader setValue:CURRENT_VERSION forKey:@"Version"]; 
     
 NSURL *url = [NSURL URLWithString:/*请求地址*/];
     
 [NSURLRequest setAllowsAnyHTTPSCertificate:YES forHost:[url host]];                                  //POST允许Https
     
 [request setURL:[NSURL URLWithString:/*请求地址*/]];                                    //向服务器发送消息
 [request setHTTPMethod:@"POST"];                                                                     //发送方式
 [request setValue:postLength forHTTPHeaderField:@"Content-Length"];                                  //头字节长度
 [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];          //发送类型
 [request setHTTPBody:postData];                                                                      
 [request setAllHTTPHeaderFields:dicHeader];
     
 NSHTTPURLResponse *respone;  
 NSError *error = nil;
 //接受返回信息
 NSData *myReturn=[NSURLConnection sendSynchronousRequest:request returningResponse:&respone error:&error];  
 //返回信息格式转换
 NSString *trimText = [[[NSString alloc] initWithData:myReturn encoding:NSUTF8StringEncoding] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
 NSLog(@"return :%@",trimText);
     
 //返回信息判断
 if(0==[trimText length])
 {
      NSLog(@"没有返回数据!!!!");
 }
 else
 {
       //根据返回信息格式做进一步操作 
 }




上述是需要往头里拼字段的请求方法 

ASIHttpRequest更强大 只是小弟不会用...

登录的方法类同 需要注册后服务器的返回进行登录请求


  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值