iPhoneHttp通信

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值