问题标签 [afnetworking]
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.
objective-c - AFNetworking:带有应用程序/x-www-form-urlencoded 的 POST 请求
我正在学习使用AFNetworking
.
我知道我可以用AFHTTPClient
json 发出 POST 请求。
我的问题是:有没有办法发出标准的 POST 请求(即内容类型为application/x-www-form-urlencoded
)?我的服务器后端不接受 json,因为客户端应该使用相同的表单通过 web 登录。
过去我使用过ASIHTTPRequest
并且我使用过这段代码:
谢谢!
objective-c - 如何在 iOS ViewControllers 中处理异步进程?
我目前正在开发一个应用程序,它允许用户使用 HTTP 请求(JSON 格式)对远程服务器进行身份验证。
我创建了一个单独的类来处理 API 请求,因为我将在整个应用程序中做很多事情。
APIRequest 中最神奇的方法是:
在我的控制器中,当按下按钮时,我调用:
我似乎无法解决的是如何通知控制器请求已完成。
我在 APIRequest 上有一个名为 isLoading 的属性,只要请求仍在发生,它将为“YES”。所以,我知道我可以通过询问来检查 api_request 是否完成。
我想不出控制器会在几秒钟后响应任何事件,以便询问 api_request 是否完成。
任何人都可以在这里提出一个好的方法吗?
cocoa-touch - 图片下载开销
我的应用程序有一个 UITableView。它的细胞使用 AFNetworking 从 tumblr 下载图片。这确实有效,但我注意到,一旦我开始下载图片,我的应用程序就需要多 5 MB 的内存。我首先认为这是泄漏,但是,我的应用程序没有泄漏。因此,我检查了 instagram 等的内存使用情况,并注意到它们也需要更多内存,一旦我开始下载帖子。
所以我想知道为什么下载图像需要这么大的开销?还是我完全错了,我的应用程序不工作?
singleton - 如何使用 AFHTTPRequestOperation 更新 MBProgressHud
我下载了一些例子来学习 Ios。
示例包括:
- AF网络;
- 应用内购买(来自 RayW);
- MBProgressHud;
在我的视图控制器中,我按下一个触发 Inapp 购买单例示例的 UI 按钮,并开始使用 AFHTTPRequestOperation 从我的服务器下载文件。这部分通信有效。但我想要实现的是在下载时更新我的 hud。由于文件> 10Mb。
所以,问题是我如何用下载进度更新 hud?我试着把它画下来。
我按下 Viewcontroller 中的按钮,就会显示 hud;
--> 请求将发送到处理网络部分的 Singleton InApp 助手类;
--> 之后会在单例类中调用AFHTTPRequestOperation来下载文件;
- ---> 在此下载过程中,我使用 setDownloadProgressBlock 方法来获取进度。
但是我如何将进度信息发送回视图控制器中的 hud?
谢谢。
objective-c - afnetworking - startMonitoringNetworkReachability 中的 exc_bad_access
对于一个项目,我必须使用 AFNetworking。从 github 获得了新副本,iOS 示例项目似乎正在运行。
但是 - 当我将“AFNetworking”文件夹复制到一个新的 Xcode 项目并尝试进行 http 调用时,它在 AFHTTPClient 的初始化程序中崩溃
所以在 [AFHTTPClient initWithBaseURL:] 中有这样的代码:
它看起来很愚蠢但是
1)当我不链接 SystemConfiguration - 项目不编译
(架构 i386 的未定义符号:“_SCNetworkReachabilityCreateWithName”,引用自:AFHTTPClient.o 中的 -[AFHTTPClient startMonitoringNetworkReachability])
2) 当我链接 SystemConfiguration - 项目在运行时在 startMonitoringNetworkReachability 内使用 EXC_BAD_ACCESS 崩溃:
有人遇到过这个问题吗?从他们在 github 上称赞他们的 lib 的方式来看,我认为它会更加精致。
objective-c - AFNetworking 发布请求未通过 Sinatra 应用程序
我正在尝试使用我制作的 Sinatra API 从我的 iPhone 发布请求。目前我所有的 Sinatra 应用程序正在做的就是打印发送给它的请求。这是代码:
我的objective-c也很简单。它所做的只是向我的 API 发送一个 post 请求:
当 JSON(在 obj-c 的第 3 行)是一个非常短的字符串时,例如 @"test",Sinatra 会像这样正确地打印出来:
当我使用实际的 JSON 配置文件数据时,它是一个非常长的 JSON blob,Sinatra 将其打印出来如下:
我无法弄清楚为什么长斑点会通过。我 100% 确定我传递了正确的字符串,但 Sinatra 没有收到它。我目前的理论是 Sinatra 对请求有最大字符限制,但我是 Sinatra 和 Ruby 的新手,我不知道如何测试它。出了什么问题?
更新:
首先,感谢 Kjuly 的建议。我发现我在 Sinatra 的字符限制上错了。在 obj-c 中,我正在记录第 3 行具有 JSON blob 的字典,并且它具有 json blob。但是,当我在第 4 行记录 NSMutableURLRequest 的正文时,正文为空。当我使用我的小 JSON blob 时,主体已被填满。
NSMutableURLRequest 有字符限制吗?谁能想到为什么它不接受我的带有大 JSON blob 的非常大的字典,但不接受小字典的原因。
谢谢!
再次更新:
请求正文现在可以正确填写。我不得不将此行添加到第 3 行:
现在我在 Sinatra 的 HTTPResponse 中得到这个响应:
Sinatra 现在只是打印
而不是 {"json"=>"(null)"}
仍然不确定发生了什么。
更新 3
好的,我认为来自 Sinatra 的 HTTPResponse(文本/json 内容)是因为我在 AFNetworking 中从 Sinatra 返回了一个文本/html。我现在检查了 Sinatra 正在接收的主体,我的巨大 JSON blob 在那里。但是,“params”仍然是空的。
有人知道为什么吗?
解决它
看起来当您将 JSON 发布到 sinatra 时,您必须直接阅读请求的正文。在 Sinatra 中,您可以这样做:
profile = JSON.parse(request.body.read.to_s)
然后 profile 是您解析的对象。
iphone - 在 IOS 上使用 AFNetworking 流式传输 JSON
使用 AFNetworking 从流式 JSON API 接收数据的最优雅方式是什么?AFNetworking 为从 JSON API 接收非流式数据提供了出色的支持,但我找不到任何流式 JSON 的示例。
objective-c - 如何从 AFNetworking 和 AFJSONRequestOperation 获取可变字典?
我正在将 JSONKit 与 AFNetworking 的 AFHTTPClient(带有 AFJSONRequestOperation)一起使用,我似乎无法弄清楚如何触发使用 JSONKit 的 mutableObjectFrom... 方法,而不是返回(或数组)JKDictionary 的普通解析器方法.
在不修改 AFNetworking 的情况下这可能吗?
iphone - AFNetworking (AFJSONRequestOperation) 转换为 AFHTTPClient
我的以下代码运行良好,但我需要对其进行更多控制,尤其需要开始使用 0.9 中的可达性代码。
我正在努力研究如何将相同的代码转换为使用 AFHTTPClient,以便我可以利用“setReachabilityStatusChangeBlock”。
ios - 显示 AFNetworking+UIImageView 占位符图像,但不显示 URL 图像
我正在尝试使用 AFNetworking UIImageView 调用从 URL 加载图像,如下所示:
占位符图像始终显示,但来自“feed.imageURL”的实际图像永远不会出现。我已验证该 URL 实际上是正确的。我什至硬编码它以确保,但仍然没有。
我的基本应用程序设置是一个选项卡控制器……在 viewDidLoad 中,我调用了一个方法“fetchFeed”,它执行 HTTP 请求以收集我的 JSON 数据。
我的请求块看起来像: