java.net.PasswordAuthentication võtab vastu kasutajanime ja parooli märgimassiivi. Edasta parooli algupärased märgid:

var credential = new java.net.PasswordAuthentication(
    "proxy-user", "p@ssword".toCharArray());

Väärtus on näitlik parool. Rakenduse koodis hangi tegelikud märgid ettenähtud mandaadiallikast.

Selle parooli sees olev @ on andmed, sest paroolil on juba oma argument. Selle teisendamine väärtuseks p%40ssword enne konstruktorit annab edasi teistsuguse parooli.

Puhverserveri URL-il on teine mandaatide esitus. URL-is nagu http://proxy-user:p%[email protected]:8080 kuulub kodeeritud @ kasutajateabe sisse, samas kui hilisem @ eraldab selle teabe hostist. Dekodeeri ja kodeeri vastavalt liidesele, mis väärtust tegelikult tarbib.

Shell-i tsiteerimine, Java stringi-literaalide escapimine ja URL-i protsentkodeerimine lahendavad samuti erinevaid parsimisprobleeme. Määra, milline kiht sisendit loeb, selle asemel et mandaate korduvalt kodeerida, kuni päringu käitumine muutub.

Seotud artiklid