ホームページ > Java > &#&チュートリアル > Apache Commons HttpClient 3.x を使用せずに Java でマルチパート/フォームデータ POST リクエストを行うにはどうすればよいですか?

Apache Commons HttpClient 3.x を使用せずに Java でマルチパート/フォームデータ POST リクエストを行うにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-13 13:00:15
オリジナル
279 人が閲覧しました

How Can I Make Multipart/Form-Data POST Requests in Java Without Apache Commons HttpClient 3.x?

Java でのマルチパート/フォームデータ POST リクエストの作成: HTTP クライアントの代替

マルチパート/フォームデータ POST リクエストは、Java での一般的な必要性です。 Web開発タスク。 Apache Commons HttpClient バージョン 3.x ではこの機能がサポートされていましたが、バージョン 4.0 では削除されました。開発者が指摘したように、マルチパート形式は、コアの「HTTP」アクティビティの範囲外とみなされます。

HttpClient 4.0 ではネイティブ マルチパート サポートが欠如しているため、作成を可能にする代替 Java ライブラリを検討することが重要になります。マルチパート/フォームデータの POST リクエストを処理できる HTTP クライアントの数。

Java ライブラリの探索Multipart/Form-Data POST

一般的な選択肢の 1 つは HttpClient 4.x です。最新の機能が豊富な HTTP クライアント ライブラリを提供します。マルチパート/フォームデータ要求の場合、HttpClient は MultipartEntityBuilder を使用してマルチパート エンティティを構築します。

HttpClient 4.x のコード例

1

2

3

4

5

6

HttpPost uploadFile = new HttpPost("...");

MultipartEntityBuilder builder = MultipartEntityBuilder.create();

builder.addTextBody("field1", "yes", ContentType.TEXT_PLAIN);

builder.addBinaryBody("file", new FileInputStream(f), ContentType.APPLICATION_OCTET_STREAM, f.getName());

HttpEntity multipart = builder.build();

uploadFile.setEntity(multipart);

ログイン後にコピー

古いバージョンの HttpClient の場合4.0 (4.3 より前) では、非推奨の API を使用できます。 used:

1

2

3

4

5

6

7

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);

ログイン後にコピー

HttpClient 4.x または他の Java ライブラリの機能を活用することで、開発者はマルチパート/フォームデータの POST リクエストを簡単に処理する HTTP クライアントを簡単に実装できます。

以上がApache Commons HttpClient 3.x を使用せずに Java でマルチパート/フォームデータ POST リクエストを行うにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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