ホームページ >Java >&#&チュートリアル >Apache Commons HttpClient 3.x を使用せずに Java でマルチパート/フォームデータ POST リクエストを行うにはどうすればよいですか?
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 のコード例
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:
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 サイトの他の関連記事を参照してください。