macOS 上 NSURLConnection 和 NSURLSession 的默认 HTTP 用户代理字符串是什么?

Hea*_*ers 3 macos http nsurlconnection nsurlsession

NSURLSession 是否自动发送用户代理有一个描述iOS默认 HTTP字符串的答案。我想知道默认格式(最好有支持文档)以及默认格式。NSURLSessionUser-AgentmacOSNSURLConnection

我在我的网站上看到一些非常旧的User-Agent字符串,我正在尝试验证潜在的来源。

Guo*_*ang 5

它遵循与 iOS 相同的代码路径。

nsurl/887 CFNetwork/887 Darwin/17.0.0 (x86_64)

$(CFBundleName)/$(CFBundleVersion) CFNetwork/$(CFNetworkVersion) Darwin/$(DarwinVersion) ($(Architecture))

如果程序没有CFBundleName,则使用其可执行文件名称。对于缺失CFBundleVersion,(unknown version)使用。当没有捆绑包的命令行工具调用 CFNetwork 时,通常会发生这种情况。

我认为没有任何相关文档,默认的用户代理应该被视为调试工具而不是指定的行为。

  • 暑假期间我在 CFNetwork 团队实习,阅读了生成 User-Agent 的代码。我认为过去十年左右没有人碰过它,因此它应该相当稳定 (2认同)