Форум программистов, компьютерный форум CyberForum.ru

Objective-C

Войти
Регистрация
Восстановить пароль
 
iSerg
2 / 2 / 1
Регистрация: 20.08.2012
Сообщений: 29
#1

NSURLSession: html-страница вместо json - Objective-C

19.11.2014, 23:10. Просмотров 1091. Ответов 5
Метки нет (Все метки)

Доброго вечера. Пытаюсь пройти регистрацию на сайте. Создаю запрос, метод POST. Но вместо ожидаемого json`а, мне возвращается html-страница.

Также проверил полный созданный URL на Rest Client`е, все работает, в приложение приходит json.

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
NSString *paramsRegistrationURL = [NSString stringWithFormat:@"/register?email=&name=%@&surname=%@&phone=%@",
                                                                                                      params[0],
                                                                                                      params[1],
                                                                                                      params[2]];
        
        NSURLSessionConfiguration *currentSessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration];
        NSURLSession *currentSession = [NSURLSession sessionWithConfiguration:currentSessionConfig];
        NSURL *mainRegistrationURL = [NSURL URLWithString:HTTPMainURL];
        NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:mainRegistrationURL];
        
        [urlRequest setHTTPMethod:@"POST"];
        [urlRequest setHTTPBody:[paramsRegistrationURL dataUsingEncoding:NSUTF8StringEncoding]];
        [urlRequest addValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
        
        NSLog(@"Method:%@ URL:%@%@", urlRequest.HTTPMethod, urlRequest.URL.absoluteString, [[NSString alloc] initWithData:[urlRequest HTTPBody] encoding:NSUTF8StringEncoding]);
        
        NSURLSessionDataTask *currentSessionDataTask = [currentSession dataTaskWithURL:urlRequest.URL.absoluteURL
                                                        completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                            
//                                                            NSString *strdata = [*[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
                                                            NSString *strdata = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
                                                            NSLog(@"Response: %@ %@\n", strdata, error);
                                                            
                                                            if (!error) {
                                                                
                                                                NSHTTPURLResponse *httpResp = (NSHTTPURLResponse*) response;
                                                                
                                                                if (httpResp.statusCode == 200) {
                                                                    
                                                                    NSDictionary *jsonArray = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:&error];
                                                                    NSLog(@"result json: %@ Error: %@", jsonArray, error);
                                                                }
                                                            }
                                                        }];
НО, если я просто пропишу без всяких заморочек и конфигов:

Objective-C
1
2
3
4
5
6
7
NSURLSessionDataTask *currentSessionDataTask = [currentSession dataTaskWithURL:[NSURL URLWithString:@"http://somecustomsite.xx/api/register?email=&name=serg&surname=petr&phone="] completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
            
            NSString *strdata = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
            NSLog(@"Response: %@ %@\n", strdata, error);
 
        }];
        [currentSessionDataTask resume];
то приходит json, но такой рукож..пый способ не подходит, но и не могу понять почему не работает правильно верхний код.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2014, 23:10     NSURLSession: html-страница вместо json
Посмотрите здесь:

NSURLSession, вытаскиваем данные - Objective-C
Все попытки добавления данных в виде addObject - безуспешны, массив остается пустой, хотя данные которые пытаемся туда добавить -...

JSON - Objective-C
Всем добое время суток!!! Народ научить правильно и граммотно парсить JSON на примерах. Заранее спасибо

NSDictionary и JSON - Objective-C
Всем привет! Имеется Сериализованный JSON в таком формате "total":669, "restaurants": не получается добраться до ссылки на...

парсинг JSON - Objective-C
Доброго времени суток, я знаю как распарсить "http://api.twitter.com/1/statuses/user_timeline.json? ...

Посоветуйте JSON framework - Objective-C
ребята, посоветуйте пожалуйста хороший JSON framework? видел json-framework, touch json, yajl, но хочется узнать ваше мнение и чем сами...

Парсер JSON (возникает ошибка) - Objective-C
Добрый день, делаю парсер постов из вордпресс в приложение ios. Использую JSON. При компиляции ошибок нет. После запуска приложения,...

Парсинг JSON из локального файла - Objective-C
Доброго времени суток! У меня есть локальный JSON файл в проекте и мне надо из него достать данные. но почему-то, когда я пытаюсь вывести...

JSON парсинг из базы в таблицу - Objective-C
Здравствуйте. Мне надо сделать JSON парсинг данных из базы в таблицу. //Конфиг соединения к бд $db = mysql_connect...

Выдает nil при парсинге JSON из базы сайта на битриксе - Objective-C
Всем привет, есть странная проблема: скрипт делает запрос в базу данных сайта на 1с битриксе, выбирает какие то данные и формирует валидный...

Страница с json и русские символы - PHP
вот есть такая страница http://steamcommunity.com/profiles/76561198079297586/inventory/json/730/2/ там как я понял строка Json а русские...

Вместо ошибок белая страница - PHP
У меня вместо любых ошибок выводится белая страница. Как я понял в PHP выключена директива display_errors (в php.ini). ВОПРОС: Как...

Вместо сайта пустая страница - SEO
Друзья! У меня – уже давно сайт, посвященный Новому году, созданный несколько лет назад в Narod.ru Сейчас, как и прежде, он находится...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vitali36
7 / 7 / 2
Регистрация: 09.02.2014
Сообщений: 91
20.11.2014, 00:33     NSURLSession: html-страница вместо json #2
С URLSession не работал, пользуюсь обычно библиотекой AFNetworking. Вверху, где задаешь параметры запроса, там точно надо в формате NSString писать? Обычно параметры задаются как dictionary как набор ключ-значение.
iSerg
2 / 2 / 1
Регистрация: 20.08.2012
Сообщений: 29
20.11.2014, 00:56  [ТС]     NSURLSession: html-страница вместо json #3
Цитата Сообщение от vitali36 Посмотреть сообщение
С URLSession не работал, пользуюсь обычно библиотекой AFNetworking. Вверху, где задаешь параметры запроса, там точно надо в формате NSString писать? Обычно параметры задаются как dictionary как набор ключ-значение.
Везде в примерах, которые я видел, без словарей.
vitali36
7 / 7 / 2
Регистрация: 09.02.2014
Сообщений: 91
20.11.2014, 01:04     NSURLSession: html-страница вместо json #4
Ради интереса посмотрел, как работать с URLSesson. Слишком много конфигураций. Но посмотри тут: http://stackoverflow.com/questions/8...surlconnection у тебя этих строк нет
Objective-C
1
2
3
[request setValue:[NSString stringWithFormat:@"%i",postData.length] forHTTPHeaderField:@"Content-Length"];
[request setHTTPShouldHandleCookies:YES];
[request setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData];
Попробуй добавь.
iSerg
2 / 2 / 1
Регистрация: 20.08.2012
Сообщений: 29
20.11.2014, 01:30  [ТС]     NSURLSession: html-страница вместо json #5
Цитата Сообщение от vitali36 Посмотреть сообщение
Попробуй добавь.
К сожалению ничего не дало. Тупо возвращает html-страницу. Я даже специально ссылку кинул в браузер, и он показал мне json. Код не хочет =) Уже больше половины дня бъюсь над этим и никак не решу. Везде у всех работает.
vitali36
7 / 7 / 2
Регистрация: 09.02.2014
Сообщений: 91
20.11.2014, 01:54     NSURLSession: html-страница вместо json #6
Советую разобраться с afnetworking. Там гораздо все проще)
Yandex
Объявления
20.11.2014, 01:54     NSURLSession: html-страница вместо json
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru