NSURL с кодировкой - PullRequest
       12

NSURL с кодировкой

2 голосов
/ 15 ноября 2011

У меня есть этот URL, и я не могу заставить работать приведенный ниже код

В этом коде urlToGrab = http://192.1.1.233:8000/en-US/app/search/flashtimeline?auto_pause=true&q=search%20host%3D%22JRVIN-LT%22

NSURL *url = [NSURL URLWithString:urlToGrab];
[webView loadRequest:[NSURLRequest requestWithURL:url]];

Этот код не работает.При установке точек останова «url» равно нулю.Если я использую "http://192.1.1.233:8000/en-US/app/search/flashtimeline?auto_pause=true&q=search", это будет работать.

Ответы [ 3 ]

3 голосов
/ 15 ноября 2011

Вы должны сначала выполнить URL-декодирование строки.Пример:

NSString * urlToGrab = [[@"http://192.1.1.233:8000/en-US/app/search/flashtimeline?auto_pause=true&q=search%20host%3D%22JRVIN-LT%22"
    stringByReplacingOccurrencesOfString:@"+" withString:@" "]
    stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSURL *url = [NSURL URLWithString:urlToGrab];
[webView loadRequest:[NSURLRequest requestWithURL:url]];

Замена «+» на «» на всякий случай, если у вас есть другой закодированный URL-адрес, содержащий «+».

1 голос
/ 15 ноября 2011

я написал, как показано ниже, код .... но я не получил ноль

NSString *str=[[NSString alloc] initWithString:@"http://192.1.1.233:8000/en-US/app/search/flashtimeline?auto_pause=true&q=search%20host%3D%22JRVIN-LT%22"];
NSURL *url = [NSURL URLWithString:str];
0 голосов
/ 26 марта 2013

должно быть:

NSString * urlToGrab = [[@"yourURL"
stringByReplacingOccurrencesOfString:@"+" withString:@" "]
stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

not "stringByReplacingPercentEscapesUsingEncoding"

...