繁体   English   中英

NSUrlRequest本身在URL中添加%0

[英]NSUrlRequest itself adding %0 in url

NSURLRequestrequest添加%0 我创建了字符串并将其转换为base 64,然后发送给url,但是NSURLRequest会自动在其中添加%0 下面是我正在使用的代码。

这就是如何转换为base 64

 NSData *plainTextData = [totalStr dataUsingEncoding:NSUTF8StringEncoding];
 NSString *base64String = [plainTextData base64EncodedString];
 NSLog(@"encoded url:%@",base64String);

当Api打电话时。

NSString *urlStr = [NSString stringWithFormat:@"http://mabct.co/api/checkin/%@", [code valueForKey:@"code"]];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:
                                [NSURL URLWithString:urlStr]];
                                // [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];

NSString *responseString = [MyEventApi sendRequest:request];

NSError *error;
NSData *jsonData = [responseString dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *results = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error];
NSLog(@"dict in API-------------%@",results);
return results;

这是转换为base 64的字符串

eyJldmVudElkIjoiNDAiLCJzZWF0IjoiMTBfS2FyYW4gU3VraGlqYV8yNC0wNC0yMDEzIDE3OjE3IiwidXNlcklkIjoiMTAifQ==

这就是NSURLRequest发送的内容。

eyJldmVudElkIjoiNDAiLCJzZWF0IjoiMTBfS2FyYW4gU3VraGlqYV8yNC0wNC0y%0D%0AMDEzIDE3OjE3IiwidXNlcklkIjoiMTAifQ==

这就是我发送的编码

"{"eventId":"47","seat":"10_Karan Makhija_24-04-2013 10:06","userId":"10"}"

我没有弄错什么,请针对以上内容进行指导。 提前致谢。

我看到%0D%0A已添加到您的原始字符串中。 我搜索了一下,发现:

%0D%0A是的编码的ASCII不可打印字符,在Microsoft平台上是NewLine,因此:

  1. 考虑一下在编辑文件时是否偶然通过按回车键替换了某些HTML。

2a。 请注意您的编辑器用于保存文件的编码方式(通常为ASCII,ANSI或Unicode)

2b。 您的网络服务器(可能在Windows 2003 Server上运行的IIS6)以UTF-8编码方式提供文件,这很好-但是您可能需要验证其是否使用与保存文件时相同的编码来读取文件。文件。

如果要检查,这里是

编辑

确保您的网络服务器和客户端使用相同的编码(即NSUTF8StringEncoding或任何其他编码,但相同)

此外,Web服务器上还有IF base 64编码。 单击链接,以实现此类编码/解码的类别。 我希望这能帮到您。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM