Ich möchte tun, was in Frage 724043 beschrieben wird, nämlich die codieren Pfadkomponenten eines URI. Die empfohlene Klasse ist URIUtil von Commons HttpClient 3.1. Leider scheint diese Klasse aus der neuesten Version von HttpClient verschwunden zu sein. Eine ähnlich benannte Klasse aus HttpClient 4.1, URIUtils , bietet nicht die gleiche Funktionalität. Wurde diese Klasse / Methode in eine andere Bibliothek verschoben, die mir nicht bekannt ist, oder ist sie einfach weg? Bin es am besten, wenn ich die Klasse von der Version 3.1 in meinen Code kopiere oder gibt es einen einfacheren Weg?
Die Betreuer des Moduls haben festgelegt, dass Sie das Standard-JDK verwenden sollten URI-Klasse stattdessen:
Der Grund, warum URI und URIUtils durch den Standard-Java-URI ersetzt wurden, war sehr einfach: es war niemand bereit, diese Klassen zu halten.
Es gibt eine Reihe von Hilfsmethoden, die helfen, verschiedene zu umgehen Probleme mit der java.net.URI-Implementierung, aber ansonsten der Standard JRE-Klassen sollten ausreichen, nicht wahr?
Am einfachsten ist es also, die Quelle von encodePath aus der Version 3.1 zu betrachten und zu kopieren, was sie in Ihrem eigenen Code tut (oder kopieren Sie einfach die Methode / Klasse in Ihre Codebase).
Oder Sie könnten mit der akzeptierten Antwort auf die Frage gehen, auf die Sie verwiesen haben (aber es scheint, dass Sie die URL zuerst in Teile zerlegen müssen):
%Vor%Tags und Links java escaping encoding httpclient uri