java.net.PasswordAuthentication recibe un nome de usuario e unha matriz de caracteres de contrasinal. Pasa os caracteres orixinais do contrasinal:

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

O valor é un contrasinal ilustrativo. No código da aplicación, obtén os caracteres reais da fonte de credenciais prevista.

Un @ dentro deste contrasinal é dato, porque o contrasinal xa ten o seu propio argumento. Convertelo en p%40ssword antes do construtor fornece un contrasinal diferente.

Un URL de proxy ten outra representación de credenciais. Nun URL como http://proxy-user:p%[email protected]:8080, o @ codificado pertence á información de usuario, mentres que o @ posterior separa esa información do host. Descodifica e codifica segundo a interface que realmente consome o valor.

As comiñas da shell, o escape de literais de cadea de Java e a codificación porcentual de URL tamén resolven problemas de análise distintos. Determina que capa le a entrada en lugar de codificar repetidamente as credenciais ata que cambie o comportamento dunha petición.

Artigos relacionados