• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 无法使用 AFNetworking 下载 .zip 文件

[复制链接]
菜鸟教程小白 发表于 2022-12-13 07:27:51 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我可以使用字体松鼠 API 的所有其他端点,但是每当我尝试获取返回压缩字体套件的端点时,我得到 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\" = \"HP/5.3.23\";
\"X-UA-Compatible\" = \"IE=Edge,chrome=1\";

这对我来说真的很奇怪,因为我尝试将响应序列化程序设置为 XML、JSON 和 HTTP,每个都使用 acceptableContentTypes = @"text/html",@"application/x-zip"添加。我不确定我是否做错了什么,或者我是否应该要求 API 开发人员澄清他们最终是否有问题。我可以从 chrome 和 curl 发出完全相同的 GET 请求,并且它们都可以工作。

-- 编辑,添加代码片段 //初始化

+(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*)downloadFontFamilyFontFamily*)fontFamily withBlockvoid(^)(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);
}];

}



Best Answer-推荐答案


返回的内容类型不是 application/x-zip 而是 "application-x-zip",而且我还必须使用 HTTPResponseSerializer。

关于ios - 无法使用 AFNetworking 下载 .zip 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23024220/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap