问题标签 [afnetworking-2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
424 浏览

ios - AFNetworking 2 AFHTTPRequestOperation 失败阻止从错误 userInfo 中剥离键

我刚刚将我的应用程序从 AFNetworking 1.3.3 更新到 2.0.1,这需要重写我曾经继承 AFHTTPClient 的网络客户端。

我将 AFHTTPClient 换成了 AFHTTRequestOperationManager (我需要支持 iOS 6),除此之外一切正常:

服务器给了我一个 JSON 错误字符串,其中包含错误的详细信息:error.userInfo.localizedRecoverySuggestion

但是,这个键(localizedRecoverySuggestion)不再在我的 NSError 对象中。

有人知道我如何访问它吗?或者 AFNetworking 的哪个部分正在剥离它?服务器仍在发送它,它只是不像我的 POST: etc 方法中的错误对象那样。

我花了一些时间在这方面,我正在努力寻找问题所在。

0 投票
1 回答
5174 浏览

ios - AFNetworking 2 使用 AFHTTPRequestOperation 进行身份验证

我想将 AFNetworking 与批处理操作一起使用。我想下载 3 个 json 文件。

如何使用 AFHTTPRequestOperation 添加基本身份验证?

非常感谢

0 投票
2 回答
6123 浏览

ios - 为什么 RestKit 会更改我的响应内容类型?

简而言之:我尝试从服务器获取数据content-type,并将 http 请求标头设置为@"text/html.. 但由于某种原因,RestKit 将其更改为application/JSON

说明: 如果我只使用AFNetworking .. 发出这个请求,事情就像一个魅力.. 这就是我的 AFNetworking 代码的样子:

如果我使用完全相同的客户端并将其附加到

我得到的错误是:

深入研究主题..我在managedObjectRequestOperationWithRequest中设置了一个断点,然后我检查了创建的可接受HTTPRequestOperation内容类型,结果为零!所以我假设 RestKit 只是把它自己的默认可接受的内容类型.. 我只是不知道在哪里以及如何防止它。想法?

ps我无法控制服务器,所以我无法将其content-type标题更改为application/JSON


更新:

事实证明,在RKObjectRequestOperation.m中它得到了mime-typefrom [RKMIMETypeSerialization registeredMIMETypes];(第 354 行).. 所以在RKMIMETypeSerialization.h中有方法:

如何使用它来注册text/html内容类型?

0 投票
0 回答
453 浏览

ios - AFNetworking 2.0 始终接受状态码为 400、500 的响应,Responseobject 始终为 nil

我正在编写一个简单的客户端服务器应用程序,并且必须将 AFNetworking 更新到 2.0 版。我的问题是即使我从服务器返回 403,操作管理器总是会进入成功块。

这是我从我的 Django 服务器返回的:

我像这样扩展了 OperationManager:

这就是我的初始化方式:

我的获取请求看起来像:

我意识到 AFURLConnectionOperation 的 responseData 始终为空,因为 AFURLConnectionOperation 的这个函数永远不会被调用:

谢谢你。我在等你的帮助!!

0 投票
4 回答
8027 浏览

ios - AFNetworking 2.0 从故障块中的代码 400 获取 JSON

我正在使用AFHTTPRequestOperationManager请求POST。现在我故意输入错误信息来处理400错误代码。现在,Web 服务实际上返回了JSON一条消息,向用户解释他们做错了什么。我非常想让它JSONUIAlertView. 但是,故障块:

不会像成功块中的那样传递 responseObject。那么有谁知道我如何访问带有 400 错误的 Web 服务返回的 JSON?NSError *error只是给了我而不是返回的Request failed: bad request (400)JSON。

任何帮助将不胜感激,
迈克

0 投票
2 回答
682 浏览

google-maps - Google API 的 AFNetworking 参数

我正在尝试使用 AFNetworking 发送 Google Places API 请求。

我有以下代码:

它会生成一个这样的 URL:

https://maps.googleapis.com/maps/api/place/nearbysearch/json?key=XXXX&keyword=coffee&location=-27.476383%2C153.014786&opennow=true&radius=100&rankby=distance&sensor=true

如您所见,位置参数中的“,”是由 AFNetworking 编码的。

我正在使用 AFNetworking 2.0。

0 投票
1 回答
575 浏览

plist - AFNetworking 2.0 Plist

我想用最新的 AFNetworking 版本 2 更新我的应用程序。从现在起他们改变了一些东西,我想知道如何下载 plist 文件。

我在文档中找到了这个例子:

但我需要下载一个 plist 我对 AFNetworking 1 所做的事情,如下所示:

我在哪里可以找到有关使用 AFNetworking 2.0 处理 Plist 的任何示例?

我找到了这种方法。这个对吗?

0 投票
1 回答
9647 浏览

afnetworking-2 - 将 AFHTTPSessionManager 用作单例的正确方法?

我正在尝试使用 AFNetworking 2.0 来执行我的网络请求,但我遇到了一些奇怪的行为。我已经按照文档中的建议进行了AFHTTPSessionManager子类化,并提供了一个类方法,该方法返回一个单例对象,该对象设置了基本 url 并设置了我的 auth 标头。

我的应用程序使用它发出 POST 请求来验证我的用户。这很好用。然后我发出一个 GET 请求来检索对象列表。也很好用。然后我发出相同的 GET 请求并返回网络错误Error Domain=AFNetworkingErrorDomain Code=-1016 "Request failed: unacceptable content-type: application/json" 。这是完全相同的 GET 请求,但在第二次调用时失败。当我取消注释该sharedInstance.responseSerializer行时,我每次获得对共享实例的引用时都会创建响应序列化程序的新实例,然后我不再收到此错误。

不能安全地多次使用 responseSerializer 吗?感觉就像某种状态在请求之间徘徊。设置它的正确方法是什么?

0 投票
1 回答
421 浏览

ios - 使用 AFNetworking (dateFormatter) 解析日期字符串

我正在更改我的应用程序,以便它可以通过 AFNetworking 解析我的 JSON,当我尝试使用 dateFormatter 更改日期字符串时出现错误。我有一个名为“UpcomingRelease”的NSObject ,一个名为 UpcomingReleasesViewController”的CollectionViewController和一个名为“ReleaseViewController”的destinationViewController

这是我的旧代码:

* 即将发布.h

* 即将发布.m

* ReleaseViewController.h (destinationViewController)

* ReleaseViewController.m

我收到一条错误消息,提示“在 'NSDictionary' 类型的对象上找不到属性 'formattedDate')。

0 投票
1 回答
675 浏览

ios - 使用 AFNetworking 2.0 发布带有数组参数的图像不起作用

我正在尝试发布带有参数(类别)的图像,该参数是一个数组。如果我不考虑这个参数,我可以很好地提交。但是,如果我把它留在里面,我的服务器会抛出一个错误,因为数组值似乎没有被正确序列化。

查看我的服务器日志,这就是类别的出现方式:

我需要它看起来像:

我尝试将 AFHTTPSessionManager 的 requestSerializer 实例设置为,[AFJSONRequestSerializer serializer]但这似乎没有帮助。

如何正确发布图像+参数?我想避免退回到 AFHTTPRequestOperation。

谢谢!