有人知道 iOS 应用程序在哪里可以看到 NSUrlRequest
为 HTTP 请求设置的默认 header 吗?
只需使用 "http://.." NSURL
创建 NSUrlRequest
然后请求:[request allHTTPHeaderFields]
返回一个空字典。但是I know例如,"Accept-Encoding" 设置为 "gzip"。所以我想获取所有这些字段并在 HTTP 请求演示中显示它们。
我也试过 swizzle [NSMutableURLRequest setValue:forHTTPHeaderField:]
,但底层 API(NSURLRequest 或 NSURLConnection)似乎并未使用它来设置我正在寻找的那些默认字段。
我只是在做一个简单的 iOS 演示,它显示 HTTP 请求和响应信息,所以它是用于此的公共(public) API 还是私有(private) API 并不重要。
最佳答案
您的应用不能。在 CFNetwork - Communicating with HTTP Servers 中全部完成.我相信它只是添加了 NSURLRequest 未提供的缺失 header 值.
默认值是:
- USER-AGENT "AppName - Eng/1.0 CFNetwork/485.13.9 Darwin/10.7.0"
- 接受“*/*”
- ACCEPT-LANGUAGE "en-us"
- ACCEPT-ENCODING "gzip, deflate"
- 连接“保持事件状态”
关于cocoa - NSUrlRequest : where an app can find the default headers for HTTP request?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5695914/