Java를 사용하여 다중 부분 양식 데이터 게시 요청 만들기
Apache Commons HttpClient 버전 4.0의 출현으로 다중 부분/양식 데이터 POST 요청을 수행하는 기능이 제거되었습니다. 버전 3.x에서는 가능했습니다. HttpClient 팀은 멀티파트 기능이 핵심 활동 범위를 벗어났다고 설명하고 대체 라이브러리를 찾는 것을 권장했습니다.
적절한 Java 라이브러리 찾기
어떤 라이브러리에 대한 질문이 발생합니까? Java 라이브러리는 다중 부분/양식 데이터 POST 요청 기능을 제공합니다. 그러한 라이브러리 중 하나는 이러한 요청을 위한 포괄적인 솔루션을 제공하는 HttpClient 4.x입니다.
업데이트된 HttpClient 4.3 코드
HttpClient 버전 4.3 이상에서는 API가 업데이트되었으며 일부 클래스는 더 이상 사용되지 않습니다. 다음 코드 조각은 다중 부분 파일 게시를 위한 수정된 방법을 보여줍니다.
CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost uploadFile = new HttpPost("..."); MultipartEntityBuilder builder = MultipartEntityBuilder.create(); builder.addTextBody("field1", "yes", ContentType.TEXT_PLAIN); // This attaches the file to the POST: File f = new File("[/path/to/upload]"); builder.addBinaryBody( "file", new FileInputStream(f), ContentType.APPLICATION_OCTET_STREAM, f.getName() ); HttpEntity multipart = builder.build(); uploadFile.setEntity(multipart); CloseableHttpResponse response = httpClient.execute(uploadFile); HttpEntity responseEntity = response.getEntity();
사용되지 않는 HttpClient 4.0 코드(참조용)
HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(url); FileBody bin = new FileBody(new File(fileName)); StringBody comment = new StringBody("Filename: " + fileName); MultipartEntity reqEntity = new MultipartEntity(); reqEntity.addPart("bin", bin); reqEntity.addPart("comment", comment); httppost.setEntity(reqEntity); HttpResponse response = httpclient.execute(httppost); HttpEntity resEntity = response.getEntity();
이러한 라이브러리를 사용하면 개발자는 멀티파트/양식 데이터 POST 요청을 수행할 수 있는 HTTP 클라이언트를 원활하게 생성하여 필요한 웹 서비스 및 API와 상호 작용할 수 있습니다. 이런 요청 형식입니다.
위 내용은 HttpClient를 사용하여 Java에서 Multipart/Form-Data POST 요청을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!