stringWithContentsOfURL не работает с определенной строкой - PullRequest
3 голосов
/ 25 июня 2009

У меня есть код, подобный следующему, с URL-адресом, подобным следующему ... Если я использую первый * url, веб-страница вернет ноль. Если я вставлю этот URL в систему сокращения URL-адресов, такую ​​как bit.ly, она сработает и вернет 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];

1 Ответ

3 голосов
/ 25 июня 2009

Возможно, вам нужно экранировать некоторые символы в первом 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";
NSString *escapedURL = [url stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSString *webpage = [NSString stringWithContentsOfURL:[NSURL URLWithString:escapedURL]];

Построение URL-адреса и его выборка не удастся, если URL-адрес содержит символы, которые не экранированы должным образом (если смотреть на ваш URL-адрес, это, вероятно, труба (|), знак вопроса или подчеркивание).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...