ios - 如何在 AFNetworking 2.0 中做一个简单的 form-urlencoded POST 请求?

标签 ios networking afnetworking-2

如何在 AFNetworking 2.0 中复制此 NSURLConnection 代码?

NSString *post = @"key=xxx";
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];

NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:@"http://test.com/"]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];

NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:request delegate:self];
[conn start];

最佳答案

简短回答:使用 AFNetworking 提供的 AFHTTPRequestSerializer

根据document :

[[AFHTTPRequestSerializer serializer] requestWithMethod:@"POST" URLString:URLString parameters:parameters];

发送:

POST http://example.com/
Content-Type: application/x-www-form-urlencoded

foo=bar&baz[]=1&baz[]=2&baz[]=3

如果您正在使用 AFHTTPRequestOperationManager:

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.requestSerializer = [AFHTTPRequestSerializer serializer];

// you can use different serializer for response.
manager.responseSerializer = [AFJSONResponseSerializer serializer]; 

关于ios - 如何在 AFNetworking 2.0 中做一个简单的 form-urlencoded POST 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20064028/

相关文章:

ios - AFHTTPSessionManager header

ios - Xcode 自动布局不断改变我的布局

java - ServerSocket 是否接受任意端口上的返回套接字?

c - 在不同的机器上运行 UDP 客户端和服务器

ios - 使用 AFNetworking 2 将 Json 数组发送到服务器时出错

ios7 - 使用 AFHttpRequestOperationManager 发布请求不起作用

ios - 在 UIViewController 之间传递 NSFetchedResultsController

ios - Swift - 如何在表格 View 单元格中显示视频的缩略图捕获?

ios - 当 scaleKey 大于某个值时,Lanczos 比例不起作用

macos - SSH本地主机身份验证失败Mac