NSUrlRequest:应用程序可以在哪里找到HTTP请求的默认标头?

| 有人知道iOS应用可以在哪里看到
NSUrlRequest
为HTTP请求设置的默认标头吗? 只需使用\“ http:// .. \”
NSURL
创建
NSUrlRequest
,然后询问:
[request allHTTPHeaderFields]
将返回一个空字典。但是我知道例如\“ Accept-Encoding \”设置为\“ gzip \”。因此,我想获取所有这些字段并在HTTP请求演示中显示它们。 我也试过将ѭ4izz一下,但是基础API(NSURLRequest或NSURLConnection)似乎没有使用它来设置我正在寻找的默认字段。 我正在制作一个简单的iOS演示,它显示HTTP请求和响应信息,因此,将其用作公共API还是私有API并不重要。     
已邀请:
您的应用程序不能。在CFNetwork中完成所有工作-与HTTP服务器通信。我相信它只是添加了NSURLRequest没有提供的缺少的标头值。 默认值为: USER-AGENT \“ AppName-Eng / 1.0 CFNetwork / 485.13.9 Darwin / 10.7.0 \” 接受\“ * / * \” 接受语言“ zh-cn” 接受编码“ gzip,放气” 连接“保持活动”     
嗯...也许您可能想尝试一下
- (NSURLRequest *)connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse
您的自定义nsurlconnection类中的方法。尽管文档中提到了一些有关重定向的内容,但这确实值得研究。     
这可能是一个过大的杀伤力,但是基于Matt Gallagher的博客文章,我创建了更加简单的本地HTTP侦听器,并向其发送了一个单独的[mutableCopy] ed请求,以能够读取和输出所有HTTP标头,请求了。 更好的解决方案必须是设置本地HTTP请求捕获程序,我认为它必须看起来更好,但是对于简单演示的范围,只是为了显示所有已发送/已接收的标头,该解决方案就可以了。     

要回复问题请先登录注册