2009-07-24 18 views
0

私は自分のウェブサイト(www.trailbehind.com)にログインし、ファイルをアップロードするためにPOSTリクエストを送信しようとしています。iPhoneでHTTP接続を作成してログインするにはどうすればよいですか?

私はここにいた、ちょうど認証なしでホームページを要求するためにいくつかのコードを実装してみました:http://developer.apple.com/documentation/Networking/Conceptual/CFNetwork/CFHTTPTasks/CFHTTPTasks.html#//apple_ref/doc/uid/TP30001132-CH5-DontLinkElementID_10

しかし、いなくてもそのコードは動作しますが、私は次に何をすべきかわかりません。

CFStringRef url = CFSTR("http://www.trailbehind.com/"); 
CFURLRef myURL = CFURLCreateWithString(kCFAllocatorDefault, url, NULL); 
CFStringRef requestMethod = CFSTR("GET"); 
CFHTTPMessageRef myRequest = CFHTTPMessageCreateRequest(kCFAllocatorDefault, requestMethod, myURL, kCFHTTPVersion1_1); 

CFStringRef bodyData = CFSTR(""); // Usually used for POST data  
CFHTTPMessageSetBody(myRequest, bodyData); 

CFStringRef headerFieldName = CFSTR("X-My-Favorite-Field"); 
CFStringRef headerFieldValue = CFSTR("Dreams"); 
CFHTTPMessageSetHeaderFieldValue(myRequest, headerFieldName, headerFieldValue); 
CFDataRef mySerializedRequest = CFHTTPMessageCopySerializedMessage(myRequest); 

//get the page 
CFReadStreamRef myReadStream = CFReadStreamCreateForHTTPRequest(kCFAllocatorDefault, myRequest); 
CFReadStreamOpen(myReadStream); 

CFHTTPMessageRef myResponse = CFReadStreamCopyProperty(myReadStream, kCFStreamPropertyHTTPResponseHeader); 
UInt32 myErrCode = CFHTTPMessageGetResponseStatusCode(myResponse); 
NSLog(@"%@", myResponse); 

CFRelease(myRequest); 
CFRelease(myURL); 
CFRelease(url); 
CFRelease(mySerializedRequest); 
myRequest = NULL; 
mySerializedRequest = NULL; 

答えて

1

ASIHTTPRequestをご覧ください。クイックダーティHTTP作業には非常に便利です。

+0

私は他の回答者のリンクを読んだ後、それは私がしたことです。それは、その質問に受け入れられた答えであり、これも今でも同様です:) –

1

あなたはWebリクエストhereの実行について同様の質問に対する私の答えを見てみたいことがあります。ここで私はちょうどホームページを要求しようとしたコードです。サンプルコードは、NSURLRequestクラスを使用してWebリソースにアクセスする方法を示しています。 CFコードを使用するよりもはるかに簡単です:)

関連する問題