Запрос GET, iOS

Мне нужно сделать этот запрос GET:

http://api.testmy.co.il/api/sync?BID=1049&ClientCode=3847&Discount=2.34&Service=0&Items=[{"Name":"Tax","Price":"2.11","Quantity":"1","SerialID":"1","Remarks":"","Toppings":""}]&Payments=[] 

В браузере я получаю этот ответ:

 { "Success": true, "Atava": [], "Pending": [], "CallWaiter": false } 

Но в iOS его не работает.

Я попробую:

 NSString *requestedURL=[NSString stringWithFormat:@"http://api.testmy.co.il/api/sync?BID=%i&ClientCode=%i&Discount=2.34&Service=0&Items=[{\"Name\":\"Tax\",\"Price\":\"2.11\",\"Quantity\":\"1\",\"SerialID\":\"1\",\"Remarks\":\"\",\"Toppings\":\"\"}]&Payments=[]",BID,num]; NSURL *url = [NSURL URLWithString:requestedURL]; NSURLResponse *response; NSData *GETReply = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil]; NSString *theReply = [[NSString alloc] initWithBytes:[GETReply bytes] length:[GETReply length] encoding: NSASCIIStringEncoding]; NSLog(@"Reply: %@", theReply); 

ИЛИ

 NSString *requestedURL = [NSString stringWithFormat:@"http://api.testmy.co.il/api/sync?BID=%i&ClientCode=%i&Discount=2.34&Service=0&Items=[{'Name':'Tax','Price':'2.11','Quantity':'1','SerialID':'1','Remarks':'','Toppings':''}]&Payments=[]", BID, num]; 

ИЛИ

 NSMutableDictionary *params = [[NSMutableDictionary alloc] init]; [params setObject:@"Tax" forKey:@"Name"]; [params setObject:@"2.11" forKey:@"Price"]; [params setObject:@"1" forKey:@"Quantity"]; [params setObject:@"1" forKey:@"SerialID"]; [params setObject:@"" forKey:@"Remarks"]; [params setObject:@"" forKey:@"Toppings"]; NSData *jsonData = nil; NSString *jsonString = nil; if([NSJSONSerialization isValidJSONObject:params]) { jsonData = [NSJSONSerialization dataWithJSONObject:params options:0 error:nil]; jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; NSLog(@"%@", jsonString); } NSString *get = [NSString stringWithFormat:@"&Items=%@", jsonString]; NSData *getData = [get dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url]; [request setHTTPMethod:@"GET"]; [request setTimeoutInterval:8]; [request setHTTPBody:getData]; [request setValue:@"application/json;charset=UTF-8" forHTTPHeaderField:@"Content-Type"]; 

Я пробовал все выше код, но он не работает (долгое время .. просто застрял на этом).
Как это исправить?

Это связано с тем, что ваш URL-адрес неверен, эта строка должна добавить процентный выход. Попробуйте следующее:

 NSString *requestedURL=[NSString stringWithFormat:@"http://api.testmy.co.il/api/sync?BID=%i&ClientCode=%i&Discount=2.34&Service=0&Items=[{'Name':'Tax','Price':'2.11','Quantity':'1','SerialID':'1','Remarks':'','Toppings':''}]&Payments=[]",BID,num]; NSURL *url = [NSURL URLWithString:[requestedURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; //and you use this url 
 // Send a synchronous request NSURLRequest * urlRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:@"enter your url here"]]; NSURLResponse * response = nil; NSError * error = nil; NSData * data = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:&error]; if (error == nil) { // Parse data here } 

Шаги NSURLResponse и NSError передаются в метод sendSynchronousReqeust, поэтому, когда он возвращается, они будут заполнены необработанным ответом и ошибкой (если есть). Если вам нужно проверить что-то вроде кода ответа, вы можете сделать это через переменную «ответ», которую вы передаете.

  • Как загрузить веб-страницу с ее внутренними ресурсами, такими как изображения, css в iOS?
  • Получение ответа заголовка в Swift
  • Использование Charles Proxy в Mac OS X выборочно для iOS Simulator
  • Лучшие методы безопасности при отправке номера кредитной карты в REST API из iOS
  • Как настроить данные для запроса «PUT» с помощью AFNetworking?
  • HTTP «Content-Disposition: attachment» и загрузка файлов в веб-браузере iOS
  • Потоковое видео iOS и потоковое видео HTTP Live
  • iOS Не удается выполнить HTTP GET-запрос -Error Domain = NSURLErrorDomain Code = -1012
  • Почему для установки mobileconfig требуется перезагрузка Wi-Fi?
  • Как получить заголовки ответов при использовании Alamofire в Swift?
  • MPMoviePlayerController воспроизводит видео на YouTube
  • Давайте будем гением компьютера.