您的位置:首页 > 理论基础 > 计算机网络

iphone-common-codes-ccteam源代码 CCHttp.m

2011-12-31 09:55 302 查看
//
//  CCHttp.m
//  CCFC
//
//  Created by xichen on 11-12-21.
//  Copyright 2011 ccteam. All rights reserved.
//

#import "CCHttp.h"
#import <Foundation/NSURLRequest.h>
#import <Foundation/NSURLResponse.h>

@implementation CCHttp

// send a synchronous GET request for a url, returns the recieved data
+ (NSData *)sendSynchronousGETRequest:(NSString *)urlStr
withResponse:(NSHTTPURLResponse **)response
{
NSURL   *url = [NSURL URLWithString:urlStr];
NSMutableURLRequest     *request = [NSMutableURLRequest new];
[request setURL:url];
[request setHTTPMethod:@"GET"];

NSData  *data;
NSHTTPURLResponse *tempResponse;
NSHTTPURLResponse **tempResponsePtr = &tempResponse;
if(response != nil)
tempResponsePtr = response;

data = [NSURLConnection sendSynchronousRequest:request
returningResponse:tempResponsePtr error:nil];

if([*tempResponsePtr statusCode] >= 200 && [*tempResponsePtr statusCode] < 300)
{
[request release];
return data;
}

return nil;
}

// send a synchronous POST request for a url, returns the recieved data
+ (NSData *)sendSynchronousPOSTRequest:(NSString *)urlStr
withBody:(NSData *)body
withResponse:(NSHTTPURLResponse **)response
{
NSURL   *url = [NSURL URLWithString:urlStr];
NSMutableURLRequest     *request = [NSMutableURLRequest new];
[request setURL:url];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:body];

NSData  *data;
NSHTTPURLResponse *tempResponse;
NSHTTPURLResponse **tempResponsePtr = &tempResponse;
if(response != nil)
tempResponsePtr = response;

data = [NSURLConnection sendSynchronousRequest:request
returningResponse:tempResponsePtr error:nil];

if([*tempResponsePtr statusCode] >= 200 && [*tempResponsePtr statusCode] < 300)
{
[request release];
return data;
}

return nil;
}

// send a common asynchronous GET request for a url
+ (NSURLConnection *)sendAsynchonousGETRequest:(NSString *)urlStr
withDelegate:(id)delegate
{
NSURL   *url = [NSURL URLWithString:urlStr];
NSMutableURLRequest     *request = [NSMutableURLRequest new];
[request setURL:url];
[request setHTTPMethod:@"GET"];

NSURLConnection *conn = [NSURLConnection connectionWithRequest:request
delegate:delegate];
[request release];
return conn;
}

// send a common asynchronous POST request for a url
+ (NSURLConnection *)sendAsynchonousPOSTRequest:(NSString *)urlStr
withBody:(NSData *)body
withDelegate:(id)delegate
{
NSURL   *url = [NSURL URLWithString:urlStr];
NSMutableURLRequest     *request = [NSMutableURLRequest new];
[request setURL:url];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:body];

NSURLConnection *conn = [NSURLConnection connectionWithRequest:request
delegate:delegate];
[request release];
return conn;
}

+ (NSString *)localizedStringForStatusCode:(int)statusCode
{
return [NSHTTPURLResponse localizedStringForStatusCode:statusCode];
}

@end


googlecode链接地址(会有更新):http://code.google.com/p/iphone-common-codes-ccteam/source/browse/trunk/CCFC/files/CCHttp.m
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: