Heim > Java > javaLernprogramm > Wie kodiere ich HTTP-URLs in Java richtig?

Wie kodiere ich HTTP-URLs in Java richtig?

Susan Sarandon
Freigeben: 2024-12-18 19:18:12
Original
845 Leute haben es durchsucht

How to Properly Encode HTTP URLs in Java?

Codieren von HTTP-URL-Adressen in Java

In Java wird das Dienstprogramm java.net.URLEncoder häufig zum Codieren von HTML-Formulardaten verwendet. Aufgrund der Einschränkungen bei der Verarbeitung bestimmter Zeichen ist es jedoch möglicherweise nicht für die Kodierung von HTTP-URLs geeignet.

Ein Ansatz zur ordnungsgemäßen Kodierung von HTTP-URLs ist die Verwendung der Klasse java.net.URI. Laut der URL-Dokumentation führt „URI unter bestimmten Umständen eine Escape-Funktion seiner Komponentenfelder durch.“

Um eine HTTP-URL mithilfe von URI zu kodieren, erstellen Sie ein URI-Objekt mit mehreren Argumenten:

URI uri = new URI(
    "http", 
    "search.barnesandnoble.com", 
    "/booksearch/first book.pdf",
    null);
Nach dem Login kopieren

Im resultierenden URI werden illegale Zeichen maskiert, was das erwartete Verhalten liefert.

http://search.barnesandnoble.com/booksearch/first%20book.pdf
Nach dem Login kopieren

Beachten Sie, dass der URI nur illegale Zeichen maskiert. Für Nicht-ASCII-Zeichen kann die toASCIIString-Methode verwendet werden, um den URI in eine Zeichenfolge umzuwandeln, die nur US-ASCII-Zeichen enthält:

String request = uri.toASCIIString();
Nach dem Login kopieren

Für URLs mit Abfragen verwenden Sie zur Angabe den 5-Parameter-Konstruktor von URI Sowohl der URL-Pfad als auch die Abfragezeichenfolge:

URI uri = new URI(
        "http", 
        "www.google.com", 
        "/ig/api",
        "weather=São Paulo",
        null);
Nach dem Login kopieren

Dieser Ansatz bietet eine robustere und umfassendere Lösung für die Codierung von HTTP-URLs Java.

Das obige ist der detaillierte Inhalt vonWie kodiere ich HTTP-URLs in Java richtig?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage