我的代码类似于以下类似的URL ...如果我使用第一个* url,网页将返回null。如果我将此URL放入像bit.ly这样的URL缩短系统中,它确实有效,并将页面HTML作为字符串返回。我只能认为我的第一个* url中有无效字符?有什么想法吗?
NSString *url =@"http://www.testurl.com/testing/testapp.aspx/app.detail/params.frames.y.tpl.uk.item.1.cm_scid.TB-test/left.html.|metadrill,html/walk.yah.ukHB?cm_re=LN-_-OnNow-_-TestOne";
//above *url does not work, one below does
NSURL *url =[NSURL URLWithString: @"http://bit.ly/shortened"];
NSString *webpage = [NSString stringWithContentsOfURL:url];
答案 0 :(得分:3)
您可能需要在第一个网址中转义某些字符,如下所示:
NSString *url =@"http://www.testurl.com/testing/testapp.aspx/app.detail/params.frames.y.tpl.uk.item.1.cm_scid.TB-test/left.html.|metadrill,html/walk.yah.ukHB?cm_re=LN-_-OnNow-_-TestOne";
NSString *escapedURL = [url stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSString *webpage = [NSString stringWithContentsOfURL:[NSURL URLWithString:escapedURL]];
如果URL包含未正确转义的字符(查看您的网址,可能是管道(|),问号或下划线),则构建网址及其提取将失败。