0
NSURL *url = [NSURL URLWithString:@"appName://<?xml version=\"1.0\" encoding=\"UTF-8\"?>"];

但是 url = nil。我发现如果我删除“<”和“>”符号,就可以了。那么,这两个标志不能用在 URL 中吗?我应该用另一个标志替换标志吗?

谢谢!

4

3 回答 3

2

我解决了这个问题。在我做之前 NSURL *url = [NSURL URLWithString:@"...."]; 我首先这样做:

    NSString *urlStr = [string stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

当在接收端解析这个 url 时,我首先做:

NSString *urlString = [[url absoluteString] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; // url is a NSURL
于 2012-02-23T03:09:58.873 回答
1

为什么不直接在请求正文中发布文档?

GET 请求不是为此而设计的。如果文档中有 UTF-8 字符,您可能会遇到困难。

另外,不同浏览器中 URL 的最大长度是多少?意味着最多 2083 个字符。

您进入了一个非常依赖浏览器/代理的场景。

于 2012-02-22T11:02:02.363 回答
0

理论上是的。您可以使用 urlEncode 来执行此操作。HTTP 协议对 URL 的长度没有任何限制。

RFC 说:

注意:服务器应该谨慎依赖 URI 长度超过 255 字节,因为一些较旧的客户端或代理实现可能无法正确支持这些长度。

于 2012-02-22T10:58:24.143 回答