Java でマルチパート/フォームデータ POST リクエストを送信するにはどうすればよいですか?
Dec 09, 2024 am 11:41 AMApache 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 サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか?

2025年のトップ4 JavaScriptフレームワーク:React、Angular、Vue、Svelte

高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか?

キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか?

カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか?
