> Java > java지도 시간 > HttpClient를 사용하여 Java에서 Multipart/Form-Data POST 요청을 만드는 방법은 무엇입니까?

HttpClient를 사용하여 Java에서 Multipart/Form-Data POST 요청을 만드는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-12-16 11:34:16
원래의
841명이 탐색했습니다.

How to Make Multipart/Form-Data POST Requests in Java Using HttpClient?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿