with git msysgit

with - Escape @ character en la contraseña del proxy git



proxy en github (2)

Tengo git proxy config como ''http.proxy = http: // userId: pwd @ 123 @ipaddress: port'' pero al clonar un proyecto remoto, recibo un error como

Cloning into git... error: Couldn''t resolve proxy ''123@ipaddress'' while accessing http://git.kernel.org/pub/scm/git/git.git/info/refs fatal: HTTP request failed

¿Cómo escapar del carácter ''@'' en la contraseña?

Nota de Pls: No puedo cambiar la contraseña.


Nota (noviembre de 2013)

La codificación de la URL (especialmente cualquier carácter especial en una contraseña) es la solución correcta.
El .netrc mencionado a continuación es solo para la URL del repositorio remoto, no para el proxy utilizado para resolver dicho URL de repo remoto.

Para dicha codificación, consulte " Percent-encoding ":

La codificación porcentual, también conocida como encoding URL, es un mecanismo para codificar información en un Identificador Uniforme de Recursos (URI) bajo ciertas circunstancias. Aunque se conoce como codificación URL, en realidad se usa en general dentro del conjunto principal de Identificador uniforme de recursos (URI), que incluye el Localizador uniforme de recursos (URL) y el Nombre uniforme de recursos (URN). Como tal, también se usa en la preparación de datos de la aplicación / x-www-form-urlencoded type type , como se usa a menudo en el envío de datos de form HTML en solicitudes HTTP .

Caracteres reservados después de la codificación porcentual:

! # $ & '' ( ) * + , / : ; = ? @ [ ] %21 %23 %24 %26 %27 %28 %29 %2A %2B %2C %2F %3A %3B %3D %3F %40 %5B %5D

Respuesta original (mayo de 2011)

Dos comentarios:

  • Tener una contraseña para un servidor al que se accede con http (no https) es ... extraño. La contraseña no se cifra durante las comunicaciones entre el cliente y el servidor;

  • puede configurar un .netrc (o _netrc para Windows) en su $HOME , con el siguiente contenido

machine ipaddress:port login userId password pwd@

El rizo usado por Git detrás de la escena manejaría la codificación muy bien, @ o no @ .


Trataría de usar el valor URL Codificado del símbolo @ si está pasando la contraseña en la url del proxy:

http.proxy=http://userId:pwd%40123@ipaddress:port