@interface WebReguest : NSObject {
}
- (NSMutableURLRequest *)prepareURLRequest:(NSString *)domain subPage:(NSString *)subPage;
- (void)appendBodyData:(NSMutableData *)body fieldName:(NSString *)fieldName text:(NSString *)data;
- (void)appendBodyData:(NSMutableData *)body fieldName:(NSString *)fieldName fileName:(NSString *)fileName data:(NSData *)data;
- (NSString *)requestURL:(NSMutableURLRequest *)urlRequest;
@end
- (void)appendBodyData:(NSMutableData *)body fieldName:(NSString *)fieldName text:(NSString *)data
{
NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"\r\n", fieldName] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:@"Content-Type: application/text\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[data dataUsingEncoding:NSUTF8StringEncoding]];
}
- (void)appendBodyData:(NSMutableData *)body fieldName:(NSString *)fieldName fileName:(NSString *)fileName data:(NSData *)data
{
NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"; filename=\"%@\"\r\n", fieldName, fileName] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:data]];
}
- (NSMutableURLRequest *)prepareURLRequest:(NSString *)domain subPage:(NSString *)subPage
{
id baseurl = [NSString stringWithFormat:@"%@%@", domain, subPage];
NSURL *url = [NSURL URLWithString:baseurl];
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url];
[urlRequest setHTTPMethod: @"POST"];
NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"];
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
[urlRequest addValue:contentType forHTTPHeaderField: @"Content-Type"];
return urlRequest;
}
- (NSString *)requestURL:(NSMutableURLRequest *)urlRequest
{
NSError *error;
NSURLResponse *response;
NSData* result = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:&error];
NSString *outstring = [[[NSString alloc] initWithData:result encoding:NSUTF8StringEncoding] autorelease];
return outstring;
}
WebReguest *wr = [[WebReguest alloc] init];
NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"];
NSMutableURLRequest *urlRequest = [[wr prepareURLRequest:도메인주소 subPage:서브페이지경로] retain];
NSMutableData *body = [NSMutableData data];
[wr appendBodyData:body fieldName:@"text1" 텍스트데이터];
[wr appendBodyData:body fieldName:@"file1" fileName:파일명 data:NSData형식의데이터]; [body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[urlRequest setHTTPBody:body];
[wr requestURL:urlRequest];
[urlRequest release];
[wr release];
'iOS Programming' 카테고리의 다른 글
UIWebView에서 현재의 웹주소와 웹문서 제목 가져오기 (0) | 2010.09.16 |
---|---|
아이폰sdk에서 내가 만든 delegate로 파라미터 잔송하기 (0) | 2010.09.10 |
경도/위도 좌표로 주소 알아내기 (0) | 2010.09.10 |
아이폰 sdk 로 간단한 트윗 날리기 (0) | 2010.09.10 |
Multiline UILabel의 수직 정렬 (Top / Center / Bottom) (0) | 2010.09.10 |