検索
ホームページJava&#&チュートリアルJava でマルチパート/フォームデータ POST リクエストを送信するにはどうすればよいですか?

How Can I Send Multipart/Form-Data POST Requests in Java?

Apache Commons HttpClient を使用した Java でのマルチパート/フォームデータ POST リクエスト

HttpClient のバージョン 4.0 より前では、マルチパートを送信することができました。 /form-data POST リクエスト。ただし、この機能はバージョン 4.0 で削除されました。 HttpClient 開発者は、マルチパート処理はプロジェクトの範囲外であるとみなしました。

マルチパート/フォームデータ POST リクエスト用の代替 Java ライブラリ:

マルチパートがないにもかかわらずHttpClient 4.0 でのサポート。いくつかの Java ライブラリがこれを提供します。機能:

  • Apache Commons FileUpload: Apache の専用マルチパート解析および書式設定ライブラリ。
  • Jersey クライアント: REST API クライアントフォームを介したマルチパート サポートを含むフレームワークclass.
  • OkHttp: マルチパート リクエスト サポートが組み込まれた最新の効率的な HTTP クライアント。
  • UniRest: を備えた軽量 HTTP リクエスト ライブラリマルチパート機能。

実装例HttpClient 4.3 の場合:

CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost uploadFile = new HttpPost("...");
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.addTextBody("field1", "yes", ContentType.TEXT_PLAIN);

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

レガシー 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);

結論:

その間HttpClient 4.0 は、デフォルトではマルチパート/フォームデータの POST リクエストをサポートしません。開発者がこの機能を実現するには、代替の Java ライブラリとコード スニペットを使用できます。これらのリソースを活用することで、ユーザーはマルチパートリクエストを処理し、Zoho Writer のリモート API などの Web サービスとシームレスに統合する HTTP クライアントを効果的に実装できます。

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

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター