Невозможно загрузить ZIP-файл с помощью AFNetworking

Я могу использовать любую другую конечную точку API-скрипта squirrel, но всякий раз, когда я пытаюсь GET конечную точку, которая возвращает набор zipped fontface, я получаю Request failed: unacceptable content-type: "application/x-zip" и заголовки, которые выглядит как

 status code: 200, headers { Connection = \"keep-alive\"; \"Content-Disposition\" = \"attachment; filename=\\\"1942-report-fontfacekit.zip\\\"\"; \"Content-Length\" = 284695; \"Content-Transfer-Encoding\" = binary; \"Content-Type\" = \"\\\"application/x-zip\\\"\"; Date = \"Fri, 11 Apr 2014 23:21:37 GMT\"; Expires = 0;\n Pragma = \"no-cache\"; Server = \"nginx admin\"; \"Set-Cookie\" = \"admin_rm=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=www.fontsquirrel.com, sitetoken=9e7e8c6f53ffe68791fa9e6a2531fe88; expires=Mon, 08-Apr-2024 23:21:37 GMT; path=/; domain=www.fontsquirrel.com, tracker=b13703d93358d65f09306b1b09d6e072; path=/; domain=www.fontsquirrel.com\"; \"X-Cache\" = \"HIT from Backend\"; \"X-Powered-By\" = \"PHP/5.3.23\"; \"X-UA-Compatible\" = \"IE=Edge,chrome=1\"; 

для меня это действительно странно, потому что я попытался установить сериализатор ответа на XML, JSON и HTTP, каждый из которых acceptableContentTypes = @"text/html",@"application/x-zip" . Я не уверен, что я что-то делаю неправильно, или если я попрошу разработчиков API прояснить, может ли что-то не так на их стороне. Я могу сделать то же самое требование GET от хрома и завитки, и эти обе работают.

– редактировать, добавлять фрагменты кода // init

 +(instancetype)sharedManager { static APIManager *manager; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ manager = [[APIManager alloc] initWithBaseURL:[NSURL URLWithString:@"http://www.fontsquirrel.com/"]]; manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/html",@"application/x-zip",nil]; }); return manager; 

}

//ПОЛУЧИТЬ

 -(AFHTTPRequestOperation*)downloadFontFamily:(FontFamily*)fontFamily withBlock:(void(^)(UIFont *UIFont, NSError *error))callback { return [self GET:FORMAT(@"fontfacekit/%@",fontFamily.familyURLName) parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"%@%@",[responseObject class],responseObject); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"FAIL %@\n%@",error.localizedDescription,error.userInfo); }]; 

}

Возвращаемый тип содержимого не был application/x-zip это был "application-x-zip" , и мне также пришлось использовать HTTPResponseSerializer.

Что нужно учитывать

1) URL, который вы пытаетесь удалить, должен быть правильным. Убедитесь, что ваша загрузка происходит через веб-браузер.

2) Тип вашего содержимого этого запроса должен быть \"Content-Type\" = \"\\\"application/x-zip\\\"\";

3) AcceptNonJson следует сделать ДА. Поскольку вы собираетесь получать данные как ответ, вам не нужно их разбирать.

  • Случайное заполнение кнопки на экране iPhone
  • Смешивание изображений в UITableView - анализ XML
  • Обновление подзаголовка tableviewcell при изменении соответствующего текстового поля таблицы
  • Отображение ответов RestKit Post Response
  • Почему значение count count становится 3 после выделения вида и добавления его в другое представление?
  • Как я могу уведомить UITableViewController о событиях из подкласса UITableViewCell?
  • iOS7 MDM NSUserDefaults понижающая совместимость
  • Выбрать все ячейки в UITableView
  • Ячейка UITableView не удаляет
  • iOS - должен ли скрытый UIImageView UITableViewCell не иметь назначенное изображение, пока оно не будет видимым?
  • Мне нужно удалитьObserver в KVO вручную
  • Давайте будем гением компьютера.