Heim >Java >javaLernprogramm >Wie kann ich in Java ohne Apache Commons HttpClient 3.x mehrteilige/Formulardaten-POST-Anfragen stellen?

Wie kann ich in Java ohne Apache Commons HttpClient 3.x mehrteilige/Formulardaten-POST-Anfragen stellen?

Susan Sarandon
Susan SarandonOriginal
2024-12-13 13:00:15282Durchsuche

How Can I Make Multipart/Form-Data POST Requests in Java Without Apache Commons HttpClient 3.x?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn