Escapar @ personagem na senha do proxy git

Eu tenho git proxy config como ‘http.proxy = http: // userId: pwd @ 123 @ ipaddress: port’, mas ao clonar um projeto remoto, estou recebendo erro 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 

Como escaping do caractere ‘@’ na senha?

Pls note: não consigo alterar a senha.

Eu tentaria usar o valor de URL codificado do símbolo @ se você estivesse passando a senha no URL do proxy:

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

Nota (novembro de 2013)

Codificar o URL (especialmente qualquer caractere especial em uma senha) é a solução correta.
O .netrc mencionado abaixo é apenas para o repo url remoto, não para o proxy usado para resolver o referido repo url remoto.

Para essa codificação, consulte ” Porcentagem de codificação “:

A codificação percentual, também conhecida como codificação de URL, é um mecanismo para codificar informações em um URI ( Uniform Resource Identifier ) em determinadas circunstâncias. Embora seja conhecida como codificação de URL, ela é, na verdade, usada de maneira mais geral no conjunto URI ( Uniform Resource Identifier ) principal, que inclui o Uniform Resource Locator (URL) e o Uniform Resource Name (URN). Como tal, ele também é usado na preparação de dados do tipo de mídia application / x-www-form-urlencoded, como é frequentemente usado no envio de dados de formulário HTML em solicitações HTTP .

Caracteres reservados após a codificação percentual:

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

Resposta original (maio de 2011)

Dois comentários:

  • ter uma senha para um servidor acessado com http (não https) é … estranho. A senha não é criptografada durante as comunicações entre o cliente e o servidor;

  • você poderia configurar um .netrc (ou _netrc para Windows) no seu $HOME , com o seguinte conteúdo

     ipaddress da máquina: porta
     login userId
     password pwd @

O curl usado pelo Git atrás da cena lidaria com a codificação bem, @ ou no @ .