Encodieren die Zeichenfolge die einzige Option?
Es ist die einzige richtige Option.
Verwenden URLEncoder.encode("ab%ghijlk123/0978+gh", "UTF-8")
,
, die Sie ab%25ghijlk123%2F0978%2Bgh
, für eine vollständige URL geben:
http://localhost:8080/webservice/useradmin/ab%25ghijlk123%2F0978%2Bgh
Die URL http://localhost:8080/webservice/useradmin/a%bghijlk123/0978+gh
ist ungültig.
Die URL-Spezifikation (RFC3986) besagt, dass Wegsegmente (die durch ein /
getrennten Werte) nur bestehen:
ALPHA: "a"-"z", "A"-"Z"
DIGIT: "0"-"9"
Special chars: - . _ ~ ! $ & ' () * + , ; = : @
pct-encoded: "%" HEXDIG HEXDIG
Werte, die nicht zugelassen werden, weil sie andere Bedeutungen haben, sind: /
(path Abscheider), ?
(Beginn der Abfrage), #
(Beginn des-Fragment), und %
(Beginn des 2-digit hex codierten char).
Wie Sie sehen können, ist das %
-Zeichen nur als prozentcodiertes Zeichen zulässig, sodass %bg
die URL ungültig macht.
Wenn der Teil nach dem useradmin/
soll der Wertab%ghijlk123/0978+gh
sein, dann ist es muss codiert werden, wie oben gezeigt.
Wenn der Server lehnt das als "400: Bad Request", dann wird der Server fehlerhaft ist.
Wie kommen Sie mit der Saite auf dem ersten Platz nach oben (was ist der Klartext und Kodierungsverfahren)? Können Sie den Code teilen, den Sie bisher versucht haben? –
dieser String ist zufällig generiert ..... verwendet Base64 Encoding-Schema .. ich brauche andere Optionen als Codierung – NimmyKrish
Ich denke, Sie sollten Schrägstriche in Ihrer generierten Zeichenfolge entfernen. Weil/ist für Pfade in URLs reserviert. Sie alphanumerische verwenden können, plus $ -_. +! * '(), –