Permintaan POST Berbilang Bahagian/Data dalam Java dengan Apache Commons HttpClient
Sebelum versi 4.0 HttpClient, adalah mungkin untuk menghantar berbilang bahagian /form-data permintaan POST. Walau bagaimanapun, keupayaan ini telah dialih keluar dalam versi 4.0. Pembangun HttpClient menganggap pengendalian berbilang bahagian di luar skop untuk projek mereka.
Perpustakaan Java Alternatif untuk Permintaan POST Berbilang Bahagian/Data:
Walaupun tiada berbilang bahagian sokongan dalam HttpClient 4.0, beberapa perpustakaan Java menyediakan ini fungsi:
Contoh Pelaksanaan dengan 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);
Contoh Pelaksanaan dengan Legasi HttpClient 4.0 (Ditamatkan):
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);
Kesimpulan:
Walaupun HttpClient 4.0 tidak menyokong permintaan POST berbilang bahagian/data bentuk secara lalai, perpustakaan Java alternatif dan coretan kod boleh membantu pembangun mencapai fungsi ini. Dengan memanfaatkan sumber ini, pengguna boleh melaksanakan klien HTTP dengan berkesan yang mengendalikan permintaan berbilang bahagian dan menyepadukan dengan lancar dengan perkhidmatan web seperti API Jauh Zoho Writer.
Atas ialah kandungan terperinci Bagaimanakah saya Boleh Menghantar Permintaan POST Berbilang Bahagian/Borang-Data di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!