Membuat Permintaan POST Berbilang Bahagian/Data Borang dalam Java: Alternatif Klien HTTP
Permintaan POST berbilang bahagian/data borang adalah keperluan biasa dalam tugas pembangunan web. Walaupun Apache Commons HttpClient versi 3.x menyokong fungsi ini, ia telah dialih keluar dalam versi 4.0. Seperti yang dinyatakan oleh pembangun, pemformatan berbilang bahagian dianggap di luar skop untuk aktiviti teras "HTTP" mereka.
Memandangkan kekurangan sokongan berbilang bahagian asli dalam HttpClient 4.0, menjadi penting untuk meneroka perpustakaan Java alternatif yang membolehkan penciptaan pelanggan HTTP yang mampu mengendalikan permintaan POST berbilang bahagian/data borang.
Meneroka Pustaka Java untuk POST Multipart/Borang-Data
Satu pilihan popular ialah HttpClient 4.x. Ia menyediakan perpustakaan klien HTTP yang moden dan kaya dengan ciri. Untuk permintaan berbilang bahagian/data borang, HttpClient menggunakan MultipartEntityBuilder untuk membina entiti berbilang bahagian.
Contoh Kod dengan 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);
Untuk versi lama HttpClient 4.0 (sebelum 4.3), API yang ditamatkan boleh digunakan:
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);
Dengan memanfaatkan keupayaan HttpClient 4.x atau pustaka Java lain, pembangun boleh melaksanakan klien HTTP dengan mudah yang mengendalikan permintaan POST berbilang bahagian/formulir dengan mudah.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membuat Permintaan POST Berbilang Bahagian/Data dalam Java Tanpa Apache Commons HttpClient 3.x?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!