【问题标题】:How to pass "&" as string in a URL? [duplicate]如何在 URL 中将“&”作为字符串传递? [复制]
【发布时间】:2013-04-13 05:05:08
【问题描述】:

在我的应用程序中,我将一个字符串传递给将一些数据设置到远程数据库的服务。就我的字符串中没有“&”而言,一切都很完美。

我是用这个来传递参数的:

NSString *urlString = [[NSString
 stringWithFormat:@"http://someservice.com/some/some_setstatus.php?status=active&name=%@",
 merchant] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

我的猜测是当它使用保存在数据库中的名称检查名称时,由于'&'而无法找到。

【问题讨论】:

标签: ios objective-c


【解决方案1】:

您无法传递“&”,因为它将被视为 URL 参数的分隔符。 “&”是保留字符,您可以考虑将“&”编码为允许字符的组合。看看RFC 3986this 问题的答案。

【讨论】:

    【解决方案2】:

    您需要为 url 转义 & 字符(更多信息:http://www.ietf.org/rfc/rfc3986.txt
    看看https://github.com/tagyro/GTM/blob/master/Foundation/GTMNSString%2BURLArguments.h
    这是来自他们的 SVN 的 Google Toolbox for Mac 的克隆。

    【讨论】:

      【解决方案3】:

      我相信您需要对字符串进行 urlEncode 以正确编码任何特殊字符。请参阅http://www.w3schools.com/tags/ref_urlencode.asp 了解更多信息。

      问候,

      史蒂夫

      【讨论】:

        猜你喜欢
        • 2013-07-18
        • 2018-09-02
        • 1970-01-01
        • 2020-01-18
        • 1970-01-01
        • 1970-01-01
        • 2019-08-28
        • 1970-01-01
        • 2018-09-23
        相关资源
        最近更新 更多