Escape @ character в Git proxy password
У меня есть git proxy config как 'http.proxy=http: / / userId: pwd@123@IP-адрес:порт, но в то время как клонирование дистанционного проекта, я получаю ошибки, как
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
Как избежать символа ' @ ' в пароле?
Pls примечание: Я не могу изменить пароль.
2 ответа:
Я бы попробовал использовать кодированное значение URL символа@, если вы передаете пароль в URL прокси:
http.proxy=http://userId:pwd%40123@ipaddress:port
Примечание (Ноябрь 2013 Года)
кодирование url (особенно любого специального символа в пароле) является правильным решением.
Элемент.netrc
упомянутый ниже предназначен только для url удаленного РЕПО, а не для прокси, используемого для разрешения указанного url удаленного РЕПО.для указанной кодировки см. "процент-кодирование":
процентное кодирование, также известное как URL кодирование, это механизм для кодирования информации в униформа Идентификатор Ресурса (URI) при определенных обстоятельствах. Хотя он известен как кодировка URL, на самом деле он используется более широко в основном Единый Идентификатор Ресурса (URI) набор, который включает в себя оба Единый Локатор Ресурсов (URL) и Унифицированное Имя Ресурса (урна). Как таковой, он также используется при подготовке данных приложения/x-www-form-urlencoded тип носителей, как часто используется в представлении HTMLформа данные HTTP запросы.
зарезервированные символы после процентного кодирования:
! # $ & ' ( ) * + , / : ; = ? @ [ ] %21 %23 %24 %26 %27 %28 %29 %2A %2B %2C %2F %3A %3B %3D %3F %40 %5B %5D
оригинальный ответ (май 2011 года)
два комментария:
наличие пароля для сервера, доступ к которому осуществляется с помощью http (не https)... странный. Пароль не шифруется во время связи между клиентом и сервером;
вы можете настроить а
.netrc
(или_netrc
для Windows) в вашем$HOME
, следующего содержанияmachine ipaddress:port login userId password pwd@завиток, используемый Git bbehind сцена будет обрабатывать кодировку просто отлично,
@
или нет@
.