Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios NSURLRequest中不支持的URL_Ios_Objective C_Json_Nsurlrequest - Fatal编程技术网

Ios NSURLRequest中不支持的URL

Ios NSURLRequest中不支持的URL,ios,objective-c,json,nsurlrequest,Ios,Objective C,Json,Nsurlrequest,如果从终端运行此请求,我可以正常看到JSON请求: curl -XGET 192.168.0.6:8888/scripts/data/backend2/index.php/name/_all 我的NSURL请求代码如下: NSURLRequest *request = [NSURLRequest requestWithURL: [NSURL URLWithString:@"192.168.0.6:8888/scripts/data/b

如果从终端运行此请求,我可以正常看到JSON请求:

curl -XGET 192.168.0.6:8888/scripts/data/backend2/index.php/name/_all
我的NSURL请求代码如下:

 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?我无法访问服务器代码-我知道它只是为了返回我需要的内容而设置的,如果我调用该URL?

尝试在您的URL中包含适当的URL方案,例如


[NSURL URLWithString:@”http://www...

我也为同样的错误而挣扎,尽管url路径是正确的,但在http之前有一个空格,如下所示:

NSString *path = @" http://www.mylink/";
NSURL *url = [NSURL URLWithString:path];

所以我得到的url为零,所以它给出了“不支持的url”“。然后,通过删除为我工作的空间。

与前面所述一样,URL中的空间可能会导致此问题,但也可能是字符串包含不受支持的字符。例如,如果从PDF、Word或其他文档复制并粘贴URL,则可能包含不受支持的字符。从外观上看,这很正常,但编译器不支持


要解决此问题,请在
[NSURL URLWithString:@]http://blabhblabh"]
method,删除整行代码,而不仅仅是url,然后手动重新键入链接和方法。

在我的案例中,空格被添加到我的url。我已删除空格并运行。请确保即使在传递参数时,您也没有向url添加任何空格。希望这对某人有所帮助。

在我的案例中,我用以下方法修复了它:

strURL = [strURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

strURL包含带有URL的字符串。

在我的例子中,我在Swift中传递了一个未包装的可选项。一旦我将可选项打开到字符串,URL就被正确接受。

在我的例子中,我访问了在我自己的mac上运行的服务,所以我的URL是127.0.0.1:8080/list

在我添加了一个http://scheme之后,它工作了


现在它已经取代了127.0.0.1:8080/list

它似乎是一个格式错误的URL,或者它根本不是一个有效的URL,尝试在浏览器中点击此URL,我想你不会得到任何结果。当URL不受支持时,会出现错误代码=-1002。

与Alf G的答案相同,但使用IOS 9+

strUrl = [strUrl stringByAddingPercentEncodingWithAllowedCharacters:NSCharacterSet.URLHostAllowedCharacterSet]

如果URL包含尾随换行符,则可能发生此错误

我在将从文本文件读取的API密钥(以防止其进入版本控制系统)附加到URL的末尾时遇到了这种情况,该文件包含一个训练空格


有关将从字符串中删除换行符的代码,请参阅。

我通过下面的代码解决了这个问题

FinalUrl = [FinalUrl stringByAddingPercentEncodingWithAllowedCharacters:NSCharacterSet.URLQueryAllowedCharacterSet];

谢谢。

尝试将
http://
添加到URL开头。添加“http://”并重试?另外,您是通过这种方式还是通过URL请求请求端口(我自己也不确定)。同意。没有“http://”(或其他URL前缀),它根本不是URL。请确保您的服务器正在运行,然后确保URL前缀以开头http://... 我仍然得到了错误。有人知道还有什么会导致这个错误吗@最白目 在我的例子中,问题是url的结尾。我怀疑你是否仍然需要这个答案,但它可能会在将来帮助某人:)非常感谢,你节省了一天你是受欢迎的,如果这对你们有帮助,你能为我的答案评分吗?