cocoa - NSUrlRequest : where an app can find the default headers for HTTP request?

标签 cocoa ios macos core-foundation

有人知道 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/

相关文章:

iphone - iOS特定媒体查询

ios - 根据当前登录的 Apple ID 创建用户记录

xcode - 从 <math.h> 链接函数时,OSX/Darwin 无法解析符号

bash - 使用 shell 脚本将环境变量注入(inject) Jenkins 构建过程

xcode - 切换到另一个自定义 View

objective-c - 我想要 HH :mm format from string in cocoa 的时间

ios - 使用 If 条件执行 segue 和发送数据

xcode - 如何在 OSX 应用程序中使用 Kiwi 单元测试库?

iphone - UITextView 子类中的 viewDidLoad?

python - 使用 pyenv 全局命令切换 python 版本时遇到问题