では、HTTP POST リクエストを作成し、パラメータを設定する方法を知りたいですか?
サードパーティのライブラリを使用しない限り、Cocoa では POST リクエストの本文を自分で組み立てる必要があります。次のようなコードを使用できます。
NSMutableURLRequest *request = ...;
NSMutableString *ps = [NSMutableString string];
BOOL first = YES;
for (NSString *key in self.postParameters)
{
[ps appendFormat:@"%@%@=%@", (first==YES) ? @"" : @"&", key, [[self.postParameters objectForKey:key] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
first=NO;
}
NSData* postVariables = [ps dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
NSString* postLength = [NSString stringWithFormat:@"%lu", [postVariables length]];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody: postVariables];
self.postParameters
このコードは、 POST したいものを含むNSDictionary があることを前提としています。
を作成したらNSMutableURLRequest
、 を使用して送信しますNSURLConnection
。