Mehrteilige/Formulardaten-POST-Anfragen in Java erstellen: HTTP-Client-Alternativen
Mehrteilige/Formulardaten-POST-Anfragen sind eine häufige Notwendigkeit in Webentwicklungsaufgaben. Während Apache Commons HttpClient Version 3.x diese Funktionalität unterstützte, wurde sie in Version 4.0 entfernt. Wie die Entwickler anmerkten, wird die mehrteilige Formatierung als außerhalb des Bereichs ihrer Kernaktivität „HTTP“ betrachtet.
Angesichts des Mangels an nativer mehrteiliger Unterstützung in HttpClient 4.0 ist es von entscheidender Bedeutung, alternative Java-Bibliotheken zu erkunden, die die Erstellung ermöglichen von HTTP-Clients, die Multipart-/Formulardaten-POST-Anfragen verarbeiten können.
Erkundung von Java-Bibliotheken für Multipart-/Formulardaten POST
Eine beliebte Wahl ist HttpClient 4.x. Es bietet eine moderne und funktionsreiche HTTP-Client-Bibliothek. Für mehrteilige/Formulardatenanfragen verwendet HttpClient MultipartEntityBuilder, um die mehrteilige Entität zu erstellen.
Beispielcode mit 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);
Für ältere Versionen von HttpClient 4.0 (vor 4.3) kann die veraltete API sein verwendet:
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);
Durch die Nutzung der Funktionen von HttpClient 4.x oder anderen Java-Bibliotheken können Entwickler problemlos HTTP-Clients implementieren, die mühelos Multipart-/Formulardaten-POST-Anfragen verarbeiten.
Das obige ist der detaillierte Inhalt vonWie kann ich in Java ohne Apache Commons HttpClient 3.x mehrteilige/Formulardaten-POST-Anfragen stellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!