我必须调用第三方 Web 服务,它期望并且只接受其参数字符串中的非法字符(根据 RFC),如下所示。
http://example.com?param1={foo=bar}
在这个例子中,大括号是非法字符,应该被编码,但是如果这些字符已经被编码,这个 web 服务将不接受参数。
NSURL 正确地不允许我NSURL
使用该方法创建对象,URLWithString
使用示例中的字符串返回 nil。
Web 服务由大型企业实体提供,因此更改它需要向他们提交错误报告,如果有的话,可能会或可能不会很快采取行动,特别是考虑到 API 照原样工作。
我的问题是这个问题有哪些可能的解决方案,我可以在不更改 Web 服务的情况下实施。
当前想法(缺点) 使用 CFStream 制作自定义 HTTP 请求(工作量非常大) 使用可以代表我的应用程序发送请求的基于 Web 的代理(额外的外部依赖项)
谢谢