NSURLRequest POST方式请求服务器示例

时间:2022-05-24 06:21:47

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];