【问题标题】:Generate POST request in iOS using AFNetworking使用 AFNetworking 在 iOS 中生成 POST 请求
【发布时间】:2015-09-13 14:53:21
【问题描述】:

我被要求基于 Fedena(学校管理系统)构建一个 iOS 应用程序。他们的 API 示例代码采用 HTML-JS 或 RUBY 格式。我要做的是以编程方式传递参数(令牌、URI 等),并在发送它们时,请求将返回一个 XML 文件,然后我可以在 tableView 中解析和查看该文件。

  1. 如何使用 AFNetworking 通过代码传递参数?
  2. 如何获取 XML 文件?

这是提供的 API 代码示例:

<html>
  <head>
    xhr.open('GET', fedena_server+"/api/users/"+username);
    xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
    xhr.setRequestHeader('Authorization', 'Token token="'+token+'"');
    xhr.send();
    ......

【问题讨论】:

  • 你不应该考虑用 HTML/JS 发送它们。如果您没有使用 REST API 的经验,请查看 github.com/AFNetworking/AFNetworking 您需要的 API 调用从您共享的代码中很清楚,您必须发送一个 Get 请求并添加一个 HTTPHeaderField 进行身份验证。如果您需要进一步的帮助,请告诉我
  • @JadFeitrouni 你能举个例子,关于我的代码吗?非常感谢

标签: javascript html ios objective-c fedena


【解决方案1】:

首先,您必须将 AFNetworking 添加到您的项目中。最简单的方法是使用 pod 信息,可以在这里找到:https://guides.cocoapods.org/using/getting-started.html

以下代码将获取上述 API 调用的响应:

NSString *url = [NSString stringWithFormat:@"%@/api/users/%@",fedenaServer,username];
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSString *token = [NSString stringWithFormat:@"Token token=%@",token];
[manager.requestSerializer token forHTTPHeaderField:@"Authorisation"];
[manager GET:url parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
    // your code to parse the response
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"Error: %@", error);
}];

您必须进行一些研究才能使整个工作正常进行,例如解析 XML 响应 给你更多的东西就是为你做这项工作:P 希望对您有所帮助。

【讨论】:

  • 呵呵,非常感谢。我试过了,它奏效了。现在解析 XML 文件很容易。谢谢你:)
  • 我们如何根据 fedena 文档在 GET 请求中添加搜索参数?格式是什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-03
相关资源
最近更新 更多