NSURLRequest POST方式请求服务器示例

Posted ZXY的工具箱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NSURLRequest POST方式请求服务器示例相关的知识,希望对你有一定的参考价值。

http://lizhuang.iteye.com/blog/1833297

 

1、  准备阶段 

NSString *urlString = [NSString stringWithFormat:@"http://jssb.zust.edu.cn/androidLogin.action"]; 

         NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; 

         [request setURL:[NSURL URLWithString:urlString]]; 

       [request setHTTPMethod:@"POST"]; 



2、设置头 

         NSString *contentType = [NSString stringWithFormat:@"text/xml"]; 

         [request addValue:contentType forHTTPHeaderField: @"Content-Type"]; 





3、数据内容体的设定 

NSMutableData *postBody = [NSMutableData data]; 

[postBody appendData:[[NSString stringWithFormat:@"id=%@&password=%@&role=%@",@"admin02",@"admin02",@"dean"] dataUsingEncoding:NSUTF8StringEncoding]]; 

[request setHTTPBody:postBody]; 



XML传送的时候: 

NSMutableData *postBody = [NSMutableData data]; 

    [postBody appendData:[[NSString stringWithFormat:@"<Request  Action=\"Login\">"] dataUsingEncoding:NSUTF8StringEncoding]]; 

    [postBody appendData:[[NSString stringWithFormat:@"<Body>"] dataUsingEncoding:NSUTF8StringEncoding]]; 

    [postBody appendData:[[NSString stringWithFormat:@"<Username>wangjun</Username>"] dataUsingEncoding:NSUTF8StringEncoding]]; 

    [postBody appendData:[[NSString stringWithFormat:@"<Password>password</Password>"] dataUsingEncoding:NSUTF8StringEncoding]]; 

    [postBody appendData:[[NSString stringWithFormat:@"<PlatformID>2</PlatformID>"] dataUsingEncoding:NSUTF8StringEncoding]]; 

    [postBody appendData:[[NSString stringWithFormat:@"<PlatformVersion>3.1.3</PlatformVersion>"] dataUsingEncoding:NSUTF8StringEncoding]]; 

    [postBody appendData:[[NSString stringWithFormat:@"<TaskViewerName>IP 1.3</TaskViewerName>"] dataUsingEncoding:NSUTF8StringEncoding]]; 

    [postBody appendData:[[NSString stringWithFormat:@"<TaskViewerVersion>3</TaskViewerVersion>"] dataUsingEncoding:NSUTF8StringEncoding]]; 

    [postBody appendData:[[NSString stringWithFormat:@"</Body>"] dataUsingEncoding:NSUTF8StringEncoding]]; 

    [postBody appendData:[[NSString stringWithFormat:@"</Request>"] dataUsingEncoding:NSUTF8StringEncoding]]; 

    //post 

    [request setHTTPBody:postBody]; 



4、请求响应 

         NSHTTPURLResponse* urlResponse = nil;     

         NSError *error = [[NSError alloc] init]; 

         NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error]; 

       NSString *result = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];







































































以上是关于NSURLRequest POST方式请求服务器示例的主要内容,如果未能解决你的问题,请参考以下文章

Alamofire 请求和自定义 NSURLRequest 的区别

从 NSURLRequest 以编程方式按下 html 按钮

Tomcat 无法解析POST请求的参数

NSURLRequest setTimeoutInterval 没有按预期工作

jQuery中ajax的4种常用请求方式

jQuery中ajax的4种常用请求方式