POST的nsurlrequest设置

时间:2012-02-23 21:25:54

标签: iphone ios

我正在向我的服务器设置请求,我已经得到了一些建议的帮助,但我想要对代码的一部分进行一些澄清。

在第二行代码中, setValue: forHTTPHeaderField:用于什么?我正在考虑使用HTTPHeaderField:设置mime类型...但我不确定setValue是什么或它如何影响我的请求。

[request setHTTPMethod: @"POST"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"];
[request setHTTPBody:postBodyData];

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

有关方法说明,请参阅NSMutableURLRequest reference,有关标题信息,请参阅 14.17内容类型部分的HTTP documentation

section 7.2.1

的更多C-T详细信息
  

Content-Type指定基础数据的媒体类型。内容编码可用于指示应用于数据的任何附加内容编码,通常用于数据压缩的目的,其是所请求资源的属性。没有默认编码。

     

任何包含实体主体的HTTP / 1.1消息都应该包含一个Content-Type标头字段,用于定义该主体的媒体类型。如果   并且只有当Content-Type字段没有给出媒体类型时,   收件人可以尝试通过检查媒体类型来猜测媒体类型   用于标识的URI的内容和/或名称扩展名   资源。如果媒体类型仍然未知,则收件人应该   将其视为“application / octet-stream”类型。

答案 1 :(得分:0)

每个HTML请求都包含一个请求标头和正文。

在您的示例中,您定义此请求的正文包含表单数据。

例如,如果您想提交一个json结构作为请求主体,请求的内容类型将设置为“application / json”。

答案 2 :(得分:0)

如果是内容类型,则可以是text/htmltext/xmlimage/gif

此处的目的是指定传输的数据类型。

有关标题字段定义,请参阅http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

有关不同的媒体类型,请参阅http://en.wikipedia.org/wiki/Internet_media_type

另请参阅NSURLRequest reference了解该课程的具体内容。