通过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