2016-08-17 2 views
0

Каковы правила прохождения строкового параметра, такие как% JOHN% в запросе GET URLObjective-C - запрос Форматирование GET

мой запрос URL должен выглядеть так: https://somesite.com/search/name?name=%SEARCH_KEYWORD%

Попробуйте #- Я сделал это

NSURL* url = [NSURL URLWithString:[NSString stringWithFormat:@"https://somesite.com/search/name?name=%%%@%%",SEARCH_KEYWORD]]; 

O/P: ноль

Попробуйте # 2:

NSURL* url = [NSURL URLWithString:[NSString stringWithFormat:@"https://somesite.com/search/name?name=%JOE%"]]; 

** O/P:

https://somesite.com/search/name?name=JOE 

Любые предложения?

ответ

2

Вы можете использовать NSURLComponents для построения URL-адресов:

Objective-C:

NSURLComponents *components = [NSURLComponents componentsWithString:@"https://google.com"]; 
components.query = @"s=%search keywords%" 

NSURL *url = components.URL; 

Swift (осторожно с ! в производстве, я использовал для тестирования на игровых площадках):

let components = NSURLComponents(string: "https://google.com")! 
components = "s=%search keywords%" 

let url = components! 
print(url) // "https://google.com?s=%25search%20keywords%25" 

Также, если вам нужны более сложные запросы, у NSURLComponent есть queryItems.

+0

Thanks Это работало как шарм. –

-3

Вы ошиблись, просто используйте один %@. Пример:

NSString *string = @"JOE"; 
NSURL *url = [[NSURL alloc] initWithString:[NSString stringWithFormat:@"https://somesite.com/search/name?name=%@",string]]; 
Смежные вопросы