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