ios post请求参数怎么添加

图片说明
请问各位大哥,ios如何把这些参数以JSON格式添加进post请求里,我总是出现404的链接错误,弄了好久,都不知道怎么改了?帮帮忙

1. iOS 系统请求

    NSString* requestUrlString = kAPI;
    NSURL *baseURL = [NSURL URLWithString:[requestUrlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:baseURL];
    [request setHTTPMethod:@"POST"];
    NSString *postString =@"timestamp=参数1&channel=参数2&product=参数3...";
    [request setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]];
    request.timeoutInterval = 30;
    NSHTTPURLResponse *response = nil;
    NSError *error = nil;
    NSData *respData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

2. AF等第三方库

     NSDictionary *params =  [NSDictionary dictionaryWithObjectsAndKeys:@"参数1",timestamp,@"参数2",channel,@"参数3",product,... nil]

     AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
     [manager POST:api parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
                        //成功处理
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
                        //失败处理
    }];

网络请求出现404错误不一定是post方式请求的问题,最大的可能性是服务端出现了异常。
ASI的block的post请求方法:
// 创建请求
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:urlString]];

// 设置请求模式@"POST"
request.requestMethod = @"POST";
// 设置请求超时
request.timeOutSeconds = 30.0;

// 参数设置
for (NSString *key in parameter.allKeys)
{
id valueObj = [parameter objectForKey:key];
[request setPostValue:valueObj forKey:key];
}

// block 在非ARC下时使用,而ARC下则用weak
__weak ASIFormDataRequest *weakRequest = request;

// 设置请求成功时
[request setCompletionBlock:^{

}];

// 设置请求失败时
[request setFailedBlock:^{

}];

// 发送异步请求
[request startAsynchronous];

[request setPostValue:valueObj forKey:key] 另外确定一下,是不是服务器的问题。