使用 AFNetworking 在 iOS 中生成 POST 请求

Generate POST request in iOS using AFNetworking

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

  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();
    ......

首先,您必须将 AFNetworking 添加到您的项目中。最简单的方法是使用 pods 信息可以在这里找到: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 希望对你有帮助。