如果我从终端运行此请求,我可以正常看到JSON请求:
curl -XGET 192.168.0.6:8888/scripts/data/backend2/index.php/name/_all
我的NSURlRequest代码是:
NSURLRequest *request = [NSURLRequest requestWithURL:
[NSURL URLWithString:@"192.168.0.6:8888/scripts/data/backend2/index.php/name/_all"]];
[[NSURLConnection alloc] initWithRequest:request delegate:self];
我收到了这个错误:
didFailWithError
2013-11-29 22:31:08.164 Ski Greece[607:a0b] Connection failed: Error Domain=NSURLErrorDomain Code=-1002 "unsupported URL" UserInfo=0xcd042d0 {NSErrorFailingURLStringKey=192.168.0.6:8888/scripts/data/backend2/index.php/name/_all, NSErrorFailingURLKey=192.168.0.6:8888/scripts/data/backend2/index.php/name/_all, NSLocalizedDescription=unsupported URL, NSUnderlyingError=0xdbdcc70 "unsupported URL"}
如何拨打该网址?我无法访问服务器代码 - 我知道如果我调用该URL,我只需要设置回报我需要的内容吗?
答案 0 :(得分:49)
尝试在网址中加入适当的网址方案,例如
[NSURL URLWithString:@"http://www...
答案 1 :(得分:22)
在我的情况下,我用它修复了它:
strURL = [strURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
strURL包含带URL的字符串。
答案 2 :(得分:9)
我也为同样的错误而苦苦挣扎,即使url路径正确但是在http之前还有一个空格,如下所示:
NSString *path = @" http://www.mylink/";
NSURL *url = [NSURL URLWithString:path];
因此我将url设为nil,因此它提供了“不支持的URL”。然后删除为我工作的空间。
答案 3 :(得分:8)
在我的情况下,我访问在我自己的mac上运行的服务,所以我的网址是127.0.0.1:8080/list
添加http://方案后。它有效!
现在是http://127.0.0.1:8080/list而不是127.0.0.1:8080/list
答案 4 :(得分:2)
在我的情况下,空格会添加到我的网址中。我删除了空格并运行。即使您传递参数,也请确保您没有在URL中添加任何空格。希望它可以帮到某人。
答案 5 :(得分:1)
它似乎是一个格式错误的网址,或者它根本不是一个有效的网址,尝试在浏览器中点击此网址,我想你不会得到任何结果。当网址不受支持时,会出现错误代码= -1002。
答案 6 :(得分:1)
strUrl = [strUrl stringByAddingPercentEncodingWithAllowedCharacters:NSCharacterSet.URLHostAllowedCharacterSet]
答案 7 :(得分:0)
如前所述,URL中的空格可能会导致此问题,但您的字符串也可能包含不受支持的字符。例如,如果您复制并粘贴PDF,Word或其他文档中的URL,则可能包含不受支持的字符。它看起来很好但不是编译器。
要解决此问题,请在[NSURL URLWithString:@"http://blabhblabh"]
方法中删除整行代码,而不仅仅是网址,并手动重新键入链接和方法。
答案 8 :(得分:0)
在我的情况下,我在Swift中传递了一个未包装的可选项。一旦我将可选项解包为字符串,就可以正确接受URL。
答案 9 :(得分:0)
如果您的URL包含尾随换行符,则会发生此错误。
当我将从文本文件中读取的API密钥(以使其不受版本控制系统限制)附加到URL的末尾时遇到了这个问题,并且该文件包含训练空白。
请参见https://stackoverflow.com/a/4645700/12484,以获取可将字符串中的换行符修剪掉的代码。
答案 10 :(得分:0)
我通过下面的代码解决了VIA
FinalUrl = [FinalUrl stringByAddingPercentEncodingWithAllowedCharacters:NSCharacterSet.URLQueryAllowedCharacterSet];
谢谢。