您的位置:首页 > 移动开发 > IOS开发

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

2013-11-26 17:04 190 查看
本人第一个接手的模块是注册登陆模块 由于各个软件需求算法不同 加密算法省略 (多为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更强大 只是小弟不会用...

登录的方法类同 需要注册后服务器的返回进行登录请求
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐