HTTP请求特殊字符处理。
2016-06-13 本文已影响1042人
响尾猫
在请求体中如果出现如:/?#[]@!$’()*+,;的特殊字符,通信会直接失败,用下面的万能宏就能解决。
需要注意的是如果你的字符串转过一次码 再用下边的这个转码还是失败哦,只能转一次;
并且这个宏是请求体是字符串的时候转的,自己体会吧。
#define NSUTF8String(v) ((NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,(CFStringRef)(v), NULL, CFSTR(":/?#[]@!$’()*+,;"), kCFStringEncodingUTF8))