AFNetworking Ожидаемая ошибка типа содержимого

Я получаю строку json в блоке отказа

NSURL *url = [[NSURL alloc] initWithString:@"http://www.vinipost.com/Services/Update/UpdateService.asmx/GetPropSubType?"]; NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url]; [AFJSONRequestOperation addAcceptableContentTypes:[NSSet setWithObject:@"text/html"]]; AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) { NSLog(@"%@", JSON); } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) { NSLog(@"Request Failed with Error: %@, %@", error, error.userInfo); }]; [operation start]; 

Вывод:

 Request Failed with Error: Error Domain=AFNetworkingErrorDomain Code=-1016 "Expected content type {( "text/json", "text/javascript", "application/json", "text/html" )}, got text/plain" UserInfo=0x71521a0 {NSLocalizedRecoverySuggestion=[{"PropTypId":1,"PropCatId":1,"PropTyp":"Flat/ Condo"}.......** 

  • Какой из них быстрее разбирает данные Json или XML в веб-сервисах?
  • NSDictionary быстрый KVC с нулевыми значениями
  • AS3 для ios: как сериализовать массив, а затем сохранить его
  • Обращение с JSON Response с Alamofire в Swift
  • Как собрать данные JSON, вложенные в массив, используя NSDictionary
  • Использование UICollectionReusableView для группировки ячеек
  • При каких обстоятельствах JSONSerialization.data (withJSONObject :) бросает захватывающую ошибку?
  • Невозможно передать значение типа «NSNull» в «NSString» при разборе Json в swift
  • 3 Solutions collect form web for “AFNetworking Ожидаемая ошибка типа содержимого”

    Ошибка ясна: веб-служба возвращает неправильный тип содержимого. Тип контента должен быть одним из следующих:

    "text / json", "text / javascript", "application / json", "text / html"

    Но он возвращается

    текст / обычный

    Более того, если вы посмотрите на ответ http, он возвращает HTML TAGS внутри него, поэтому AFNetworking не может анализировать.

    Если эта страница:

     http://www.vinipost.com/Services/Update/UpdateService.asmx/GetPropSubType? 

    находится под вашим контролем, исправляет поведение, удаляя html-теги и изменяя тип содержимого

    Вы должны добавить эту строку перед операцией

     [AFJSONRequestOperation addAcceptableContentTypes: [NSSet setWithObject:@"text/plain"]]; 

    В AFNetworking вам необходимо создать NSURLRequest с помощью AFHTTPClient (сначала вам нужно создать AFHTTPClient и установить некоторые свойства для этого объекта), как показано ниже

    AFHTTPClient *httpClient = [[httpClient alloc] initWithBaseURL:[NSURL URLWithString:@"http://www.vinipost.com/"]];

     [httpClient registerHTTPOperationClass:[AFJSONRequestOperation class]]; [httpClient setDefaultHeader:@"Accept" value:@"application/json"]; httpClient.parameterEncoding = AFJSONParameterEncoding; 

    теперь, если это зависит от GET / POST или любого другого запроса типа, вам нужно установить параметр, я считаю его POST-запросом, поэтому установите параметр dict и задайте все необходимые пары значений ключа правильно. Если вам не нужны параметры, вы можете передать параметры как nil

     NSURLRequest *request = [httpClient requestWithMethod:@"POST" path:@"Services/Update/UpdateService.asmx/GetPropSubType?" parameters:params]; AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) { NSLog(@"%@",JSON); } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) { NSLog(@"Error MSG = %@",error); }]; [operation start]; 

    надеюсь, что это сработает для вас 🙂

    Interesting Posts

    Вставка HTTP-потока в AVMutableComposition

    Функциональные возможности приложения Swift для iAds

    iOS 7 и кнопка и рамка

    Слушайте нажатия кнопки питания устройства iOS

    iOS. Как узнать, когда NSOperationQueue завершит обработку нескольких операций?

    Как программировать обнаружение, если iCloud включен на устройстве пользователя, когда используется только NSUbiquitousKeyValueStore?

    Дополнительные динамические свойства в Swift

    iOS 8 Self-Sizing Cells с аксессуаром

    Как отобразить CFBundleShortVersionString в моей LaunchStoryboard?

    В чем разница между атомными и неатомическими атрибутами?

    TableViewController или View Controller с представлением таблицы для запроса API-интерфейса

    Autolayout изменяет размер UIButton с текстом, а затем открывается вид контейнера

    iOS8 Автоматическая компоновка программно привязана к относительной границе макета

    изменять размер супервизора после того, как subviews динамически меняются с помощью автозапуска

    Может startMonitoringForRegion разбудить мое приложение и запустить gps-отслеживание?

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.