【问题标题】:Get request length limit in iOS在 iOS 中获取请求长度限制
【发布时间】:2014-01-17 12:28:53
【问题描述】:

我在我的 iPhone 应用程序中使用 Omniture SiteCatalyst。它使用 get 请求通过其 sdk 在内部访问服务器。但是我面临的问题是某些请求没有到达 Omniture 服务器。正在执行的 get 请求发送的长度可变,具体取决于请求的类型(大约 900 + 个字符)。 我的问题是 iOS 应用程序中的获取请求长度是否有任何限制?如果是的话 如果请求超过限制,它将如何表现?

【问题讨论】:

    标签: ios iphone mobile-safari


    【解决方案1】:

    理论上,如果 URL 符合 RFC 2396 就可以了。根据文档

    如果路径是 NSURL 类无法创建新的 NSURL 对象 通过的格式不正确;路径必须符合 RFC 2396。 不成功的例子是包含空格的字符串 字符和高位字符。应该创建一个 NSURL 对象 失败,创建方法返回 nil,你必须准备好 处理。如果您使用文件系统路径创建 NSURL 对象,您 应该使用 fileURLWithPath: 或 initFileURLWithPath:,它们处理 URL 路径和文件系统路径之间的细微差别。如果你 希望容忍格式错误的路径字符串,您需要使用 Core Foundation 框架提供的用于清理 字符串。

    但有时特殊字符会出现问题,例如空间,口音和其他。你必须[NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]];

    也有可能服务器无法处理很长的 url,如果服务器有任何限制,服务器将简单地截断 url 字符串的其余部分,如果这是一个问题,那么服务器将返回 414 错误 url 太长。

    【讨论】:

      猜你喜欢
      • 2021-05-02
      • 1970-01-01
      • 1970-01-01
      • 2018-03-26
      • 2010-09-20
      • 2019-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多