首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSURL:使用NSCharacterSet转义反斜杠

NSURL:使用NSCharacterSet转义反斜杠
EN

Stack Overflow用户
提问于 2016-07-23 16:54:32
回答 1查看 518关注 0票数 1

这可能是一个重复的问题,但我已经检查了所有地方,都没有找到iOS9的有效答案。-stringByAddingPercentEscapesUsingEncoding已被弃用。我需要使用

下面的字符串需要对反斜杠进行转义,以便API可以对会话进行身份验证并返回响应。

代码语言:javascript
复制
NSString *base = @"http://domain.com/interface/?end=imember";
NSCharacterSet *set = [NSCharacterSet URLQueryAllowedCharacterSet];
NSString *key = [@"&client_key=KOB3N6KX9JXF2MRPO5U.BRFYM7TYVE\/16KIJVXZA6R7H\/1LD1K\/JYIYG7IZP2HA7NUYOVNT3CJG==&token=SGD7E9B29TQ.8HIITZ37XW3GLK5OGLZNLCDM=" stringByAddingPercentEncodingWithAllowedCharacters:set];

标准URL字符集不会转义反斜杠,我已经尝试了所有这些字符集:

代码语言:javascript
复制
URLUserAllowedCharacterSet
URLPasswordAllowedCharacterSet
URLHostAllowedCharacterSet
URLPathAllowedCharacterSet
URLQueryAllowedCharacterSet
URLFragmentAllowedCharacterSet

请如果有人可以协助,我是相当新的发展。是否可以创建包含反斜杠的自定义允许集?

编辑:

这是url应该是什么样子:

代码语言:javascript
复制
http://domain.com/interface/?end=imember&client_key=KOB3N6KX9JXF2MRPO5U.BRFYM7TYVE\/16KIJVXZA6R7H\/1LD1K\/JYIYG7IZP2HA7NUYOVNT3CJG==&token=SGD7E9B29TQ.8HIITZ37XW3GLK5OGLZNLCDM=
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-23 19:34:00

你的答案的确切答案如下所示。我从Zaph's answer.That那里得到的答案比其他答案更好。

代码语言:javascript
复制
NSString *unescaped = @"http://domain.com/interface/?end=imember"];
NSString *escapedString = [unescaped stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLHostAllowedCharacterSet]];
NSLog(@"escapedString: %@", escapedString);

URL编码字符集是

代码语言:javascript
复制
URLFragmentAllowedCharacterSet  "#%<>[\]^`{|}
URLHostAllowedCharacterSet      "#%/<>?@\^`{|}
URLPasswordAllowedCharacterSet  "#%/:<>?@[\]^`{|}
URLPathAllowedCharacterSet      "#%;<>?[\]^`{|}
URLQueryAllowedCharacterSet     "#%<>[\]^`{|}
URLUserAllowedCharacterSet      "#%/:<>?@[\]^`
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38539972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档