iOS开发中,修改ASIHTTPRequest源码,禁止在POST时URL编码

通过ASIHTTPRequest库进行POST时,会对POST的文本内容进行encodeURL,而且ASIHTTPRequest自身并没有配置项可以关闭这个转换。

本文提供一个方法关闭encodeURL

1. 找到ASIFormDataRequest.m文件,定位到函数“- (void)buildURLEncodedPostBody”,然后找到以下代码段:

NSString *data = [NSString stringWithFormat:@"%@=%@%@", [self encodeURL:[val objectForKey:@"key"]], [self encodeURL:[val objectForKey:@"value"]],(i<count ?  @"&" : @"")];

2. 删去encodeURL方法,将其改为:

NSString *data = [NSString stringWithFormat:@"%@=%@%@", [val objectForKey:@"key"], [val objectForKey:@"value"],(i<count ?  @"&" : @"")];

3. 重新编译运行就可以了。

开发环境:

macOS Sierra Version 10.12.2

Xcode  Version 8.2.1 (8C1002)

ASIHTTPRequest v1.8.1

iPhone4s

原文地址:https://www.cnblogs.com/gamesun/p/6401429.html