Heim > Java > javaLernprogramm > Wie erstelle ich Multipart-/Formulardaten-POST-Anfragen in Java, nachdem Apache HttpClient 3.x die Multipart-Unterstützung entfernt hat?

Wie erstelle ich Multipart-/Formulardaten-POST-Anfragen in Java, nachdem Apache HttpClient 3.x die Multipart-Unterstützung entfernt hat?

DDD
Freigeben: 2024-12-30 19:16:10
Original
642 Leute haben es durchsucht

How to Create Multipart/Form-Data POST Requests in Java After Apache HttpClient 3.x's Removal of Multipart Support?

mehrteilige/Formulardaten-POST-Anfrage in Java

In Java war das Erstellen von mehrteiligen/Formulardaten-POST-Anfragen einst mit Apache Commons möglich HttpClient-Version 3.x. Diese Funktion wurde jedoch in Version 4.0 eingestellt.

Die HttpClient-Entwickler begründeten diese Entfernung damit, dass die Multipart-Verarbeitung außerhalb des Umfangs der HTTP-Kernfunktionalität der Bibliothek liege. Sie schlugen vor, nach mehrteiligem Code zu suchen, der von anderen Projekten verwaltet wird, gaben jedoch zu, keine Kenntnis von solchen Projekten zu haben.

Problemumgehungen mit HttpClient 4.x

Trotz der Entfernung der dedizierten mehrteiligen Unterstützung gibt es Problemumgehungen zum Erstellen mehrteiliger Anforderungen mit HttpClient 4.x. Hier ist ein Beispiel:

CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost uploadFile = new HttpPost("...");
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.addTextBody("field1", "yes", ContentType.TEXT_PLAIN);

// Attach 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);
HttpEntity responseEntity = response.getEntity();
Nach dem Login kopieren

Beachten Sie, dass ab HttpClient 4.3 einige Klassen veraltet sind. Informationen zur aktualisierten API-Nutzung finden Sie in der offiziellen Dokumentation.

Das obige ist der detaillierte Inhalt vonWie erstelle ich Multipart-/Formulardaten-POST-Anfragen in Java, nachdem Apache HttpClient 3.x die Multipart-Unterstützung entfernt hat?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage