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

Java でマルチパート/フォームデータ POST リクエストを送信するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-09 11:41:14
オリジナル
580 人が閲覧しました

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 サイトの他の関連記事を参照してください。

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