Ios NSURL返回零

Ios NSURL返回零,ios,nsurl,Ios,Nsurl,我不知道为什么,但当我调用以下URL时 它给了我错误的请求-无效的URL,尽管这个URL在safari浏览器和其他浏览器上运行良好 http://www.ysl.com/wx/shop-product/women/top-handles#{"ytosQuery":"true","department":"handbags_tophandle_w","gender":"D","brand":"","macro":"","micro":"","season":"A,P,E","color":"","

我不知道为什么,但当我调用以下URL时 它给了我错误的请求-无效的URL,尽管这个URL在safari浏览器和其他浏览器上运行良好

http://www.ysl.com/wx/shop-product/women/top-handles#{"ytosQuery":"true","department":"handbags_tophandle_w","gender":"D","brand":"","macro":"","micro":"","season":"A,P,E","color":"","size":"","site":"","section":"","sortRule":"","yurirulename":"searchwithdepartment","microcolor":"","agerange":"","macroMarchio":"","page":"2","productsPerPage":"50","modelnames":"","look":"","washtype":"","fabric":"","prints":"","suggestion":"false","suggestionValue":"","material":"","occasion":"","weight":"","gal
我正在使用以下代码:

NSString *str = [NSString stringWithFormat:@"%@",[payload stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]];

NSString* webStringURL = [str stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

webStringURL = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSURL *payload = [NSURL URLWithString:webStringURL];

有人帮忙吗?我做错了什么?

不要在孔URL上使用
stringbyreplacingpercentescapesusingencode:
,而只在GET参数上使用


现在
http://
也将被转义,从而成为
http%3A%2F%2F
,它作为URL无效。

{
在URL中是不合法的。事实上,这是JSON吗?如果你看到了,我也在整个URL中添加了PercenteScape。你不应该,在参数上应该转义。你根本不应该使用这两种方法中的任何一种。第一种方法删除转义序列(但没有转义序列),第二个尝试将它们添加到所有位置。正确的URL数据编码方法在苹果开发者网站上有介绍。在返回ARC的过程中,您还需要(u bridge CFStringRef)您的NSString和(u bridge_transfer NSString*)它们。