okhttp3中对请求头的值增加了中文校验
static void checkValue(String value, String name) {
if (value == null) {
throw new NullPointerException("value for name " + name + " == null");
} else {
int i = 0;
for(int length = value.length(); i < length; ++i) {
char c = value.charAt(i);
if (c <= 31 && c != '\t' || c >= 127) {
throw new IllegalArgumentException(Util.format("Unexpected char %#04x at %d in %s value: %s", new Object[]{Integer.valueOf(c), i, name, value}));
}
}
}
}
可以转用create(header,requestBody)
Headers.Builder builder = new Headers.Builder();
builder.addUnsafeNonAscii("Content-Disposition","form-data; name=doc; filename="+fileName);
Headers build = builder.build();
MultipartBody.Part part = MultipartBody.Part.create(build, body);
其中addUnsafeNonAscii可以让传值跳过中文校验,自由组织传值内容