我正在使用AFNetworking框架,并需要向服务器提交表单(POST)请求.以下是服务器期望的示例:
<form id="form1" method="post" action="http://www.whereq.com:8079/answer.m"> <input type="hidden" name="paperid" value="6"> <input type="radio" name="q77" value="1"> <input type="radio" name="q77" value="2"> <input type="text" name="q80"> </form>
我考虑在AFHTTPClient中使用multipartFormRequestWithMethod,就像后Sending more than one image with AFNetworking中讨论的那样.但是我不知道如何使用“radio”类型输入值附加表单数据.
解决方法
以下是使用NSURLConnection发送POST参数的示例:
// Note that the URL is the "action" URL parameter from the form. NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://www.whereq.com:8079/answer.m"]]; [request setHTTPMethod:@"POST"]; [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"]; //this is hard coded based on your suggested values,obvIoUsly you'd probably need to make this more dynamic based on your application's specific data to send NSString *postString = @"paperid=6&q77=2&q80=blah"; NSData *data = [postString dataUsingEncoding:NSUTF8StringEncoding]; [request setHTTPBody:data]; [request setValue:[NSString stringWithFormat:@"%u",[data length]] forHTTPHeaderField:@"Content-Length"]; [NSURLConnection connectionWithRequest:request delegate:self];