Hiran Chaudhuri created HTTPCLIENT-2360: -------------------------------------------
Summary: HTTP POST with file entities has wrong encoding on filenames Key: HTTPCLIENT-2360 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-2360 Project: HttpComponents HttpClient Issue Type: Bug Components: HttpClient (classic) Affects Versions: 5.4.1 Reporter: Hiran Chaudhuri The following code creates a bad HTTP request: {code:java} File file = ... FileBody fileBody = new FileBody(sourceFile); MultipartEntityBuilder builder = MultipartEntityBuilder.create(); builder.setMode(HttpMultipartMode.LEGACY); builder.addPart("document", fileBody); HttpEntity requestEntity = builder.build(); URI endpoint = ... HttpPost httpPost = new HttpPost(endpoint.toString()); httpPost.setEntity(requestEntity); httpClient.execute(httpPost, getHttpClientContext(), ...); {code} The request contains the file and a {{Content-Disposition}} header. Inside this header the filename is contained. So far so good. But as filesystems go international and support all kinds of characters, the {{filename}} header needs to be encoded in ISO-8859-1 or rfc5987 applies. But in reality HttpClient 5.4.1 uses UTF-8 encoding, which can break other servers trying to parse the request. I like to use this client a lot. Please enhance it to follow https://www.rfc-editor.org/rfc/rfc6266#page-5 which allows to use UTF-8 encoding in the {{filename*}} header. Or even better, HttpClient fills both headers so the server can pick. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@hc.apache.org For additional commands, e-mail: dev-h...@hc.apache.org