那么,您想知道如何创建 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];
此代码假定您有一个 NSDictionary self.postParameters
,其中包含您要发布的内容。
制作完成后NSMutableURLRequest
,您可以使用NSURLConnection
.