8
votes

Comment ne changer que la partie de protocole d'un objet Java.net.url?

J'ai un objet java.net.url qui utilise le protocole HTTPS, par exemple: xxx pré>

et je n'ai à modifier que la partie de protocole de cet objet URL afin que lorsque j'appelle qu'il est Tostring () Méthode I Obtenir ceci: P>

http://www.bla.com


0 commentaires

3 Réponses :


17
votes

Vous aurez l'utilisation des méthodes à votre disposition:

URL oldUrl = new URL("https://www.bla.com");
URL newUrl = new URL("http", oldUrl.getHost(), oldUrl.getPort(), oldUrl.getFile(), oldUrl.getRef());


4 commentaires

La méthode Set () est protégée.


On dirait que vous avez pris les paramètres de la méthode url.set () pour le constructeur, mais aucun constructeur de ce type avec ce prototype n'existe réellement.


C'est une mauvaise réponse. Il n'y a pas de constructeur avec cette signature. L'URL s'agite juste


Cette réponse ne gère pas les cas où le port n'est pas spécifié et GetPort () renvoie -1 afin que vous ayez à compter sur getDefaultPort ()



4
votes

Vous pouvez également utiliser la chaîne de remplacement: xxx


0 commentaires

0
votes

ou vous pouvez utiliser org.springframework.web.util.uricomponentsBuilder / org.springframework.web.util.uricomponents

Voir: existe-t-il une URL mutable / Objet URI en Java?


0 commentaires