ホームページ > Java > &#&チュートリアル > HttpClient を使用して Java でマルチパート/フォームデータ POST リクエストを行う方法

HttpClient を使用して Java でマルチパート/フォームデータ POST リクエストを行う方法

Mary-Kate Olsen
リリース: 2024-12-16 11:34:16
オリジナル
846 人が閲覧しました

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

Java を使用したマルチパート フォーム データの POST リクエストの作成

Apache Commons HttpClient バージョン 4.0 の出現により、マルチパート/フォーム データの POST リクエストを実行する機能が排除されました。バージョン 3.x では可能でした。 HttpClient チームは、マルチパート機能は中心的な活動の範囲外であると説明し、代替ライブラリを探すことを推奨しました。

適切な Java ライブラリの検索

問題は、どれであるかということです。 Java ライブラリは、マルチパート/フォームデータ POST リクエスト機能を提供します。そのようなライブラリの 1 つが 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 クライアントをシームレスに作成でき、Web サービスと対話できるようになり、このタイプのリクエスト形式を必要とする API。

以上がHttpClient を使用して Java でマルチパート/フォームデータ POST リクエストを行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート