如何使用 AFNetworking 向现有 NSMutableURLRequest 添加参数?

Posted

技术标签:

【中文标题】如何使用 AFNetworking 向现有 NSMutableURLRequest 添加参数?【英文标题】:How to Add Parameters to Existing NSMutableURLRequest with AFNetworking? 【发布时间】:2013-09-12 00:48:59 【问题描述】:

我有一个这样创建的 NSMutableURLRequest:

AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:[NSURL URLWithString:<my url>];
urlRequest = [httpClient requestWithMethod:<my method>
                                      path:<my uri>
                                parameters:<my parameters>];

在我的程序稍后的某个时间点,我希望在运行网络操作之前​​将其他参数附加到urlRequest(同时保持其他所有内容不变)。我该怎么做呢?

【问题讨论】:

【参考方案1】:

查看 AFNetworking 它会返回一个 NSMutableRequest 对象。 ​

- (NSMutableURLRequest *)requestWithMethod:(NSString *)method
                                      path:(NSString *)path
                                parameters:(NSDictionary *)parameters

现在根据您正在执行的请求类型(GET,POST,PUT,DELETE),您可以通过以下方式访问请求参数:

获取: request.URL.parameterString

发布: 请求.HTTPBody

【讨论】:

对,但是AFNetworking库中没有方便的方法允许附加参数吗?我知道我可以自己挖掘并自己做,但如果已经有一个经过充分测试的方法可以做到这一点,我宁愿不这样做。 我建议在这种情况下创建一个 mutableDictionary 使用方便的方法,它将使用您的参数创建一个新请求。

以上是关于如何使用 AFNetworking 向现有 NSMutableURLRequest 添加参数?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 AfNetworking 3.0 中向请求添加标头?

AFNetworking 2.0 对现有项目的更新

如何通过 AFNetworking 传递 facebook 访问令牌

如何使用 JSON 格式解析通过 AFNetworking 1.0 获得的响应

AFNetworking 向 JSON 响应键添加引号

如何将 AFNetworking 添加到 XCode 应用程序