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와 상호 작용할 수 있습니다. 요청 형식입니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3