项目后台使用的是古老的soap协议,最近使用图文编辑器生成HTML字符串,传给后台时,一添加图片就直接报错
Error Domain=NetWebServiceRequestErrorDomain Code=400 "HTTP/1.1 400 Bad Request" UserInfo={NSLocalizedDescription=HTTP/1.1 400 Bad Request
打印HTML字符串,通过网页调取接口,可以上传,安卓端也没问题,最后发现只有上传图片的时候才出现问题,于是查看图片的字符串
![]( http://121.42.156.151:92/FileGain.aspx?fi=17032510210813698&it=3)
发现其中存在 “ ? & ” 特殊字符
于是考虑是否需要转义,果然是这个问题
附上转义代码:
//转码
NSString *tuwen = CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)wenzi, nil, CFSTR(":/?#[]@!$&’()*+,;="), kCFStringEncodingUTF8));
ps: 此处根据项目需求,选择性转义 :/?#[]@!$&’()+,;=* 这些特殊字符