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];
自己封装http请求工具类,用与淘宝:
.h文件
// // HttpUtil.h // TaoBaoTest // // Created by 杭 鲍 on 12-5-7. // Copyright (c) 2012年 __MyCompanyName__. All rights reserved. // //http请求工具类,用来进行httpget以及httppost请求,返回值是一个String类型 #import <Foundation/Foundation.h> @interface HttpUtil : NSObject { } -(NSString *)httpGet:(NSString *)httpUrl;//传入需要请求的url -(NSString *)httpPost:(NSString *)httpUrl:(NSString *)postData;//传入需要请求的url以及需要post的参数值 @end
.m文件
#import "HttpUtil.h" @implementation HttpUtil -(NSString *)httpGet:(NSString *)httpUrl{ NSMutableURLRequest *request =[[NSMutableURLRequest alloc] init]; [request setURL:[NSURL URLWithString:httpUrl]]; [request setHTTPMethod:@"GET"]; // NSString *contentType = [NSString stringWithFormat:@"text/xml"]; NSString *contentType = [NSString stringWithFormat:@"application/x-www-form-urlencoded"]; [request addValue:contentType forHTTPHeaderField: @"Content-Type"]; 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]; return result; } -(NSString *)httpPost:(NSString *)httpUrl:(NSString *)postData{ NSMutableURLRequest *request =[[NSMutableURLRequest alloc] init]; [request setURL:[NSURL URLWithString:httpUrl]]; [request setHTTPMethod:@"POST"]; NSString *contentType = [NSString stringWithFormat:@"application/x-www-form-urlencoded"]; [request addValue:contentType forHTTPHeaderField: @"Content-Type"]; NSMutableData *postBody = [NSMutableData data]; [postBody appendData:[[NSString stringWithFormat:postData] dataUsingEncoding:NSUTF8StringEncoding]]; [request setHTTPBody:postBody]; 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]; return result; } @end
<!--EndFragment-->