Próbuję skonfigurować serwer proxy HTTP na komputerze z systemem Windows. Problem polega na tym, że hasło ma znak specjalny (@), który powoduje set
niepowodzenie polecenia.
Próbowałem uciec zarówno przed znakiem ( \@
), jak i kodowaniem procentowym za pomocą wartości szesnastkowej ( %40
), ale bezskutecznie.
Na przykład, podając nazwę użytkownika Foo i hasło B @ r, wypróbowałem następujące polecenia:
set http_proxy=http://foo:B\@[email protected]:80
set http_proxy=http://foo:B%[email protected]:80
Oprócz zmiany hasła, w jaki sposób serwer proxy może używać hasła?
windows
special-characters
http-proxy
piropingwin
źródło
źródło
Odpowiedzi:
Musisz kodować procentowo | zakodować znaki specjalne. Np. Zamiast tego:
piszesz to:
Więc
@
zostaje zastąpiony przez%40
.źródło
encodeURIComponent()
do tego celu javascript . Możesz łatwo korzystać z przeglądarkiDeveloperTools -> Console
.Dla każdego znaku specjalnego użyj kodu% Ascii znaku specjalnego w notacji szesnastkowej. Załóżmy, że moje hasło to AB @ 12 #, a następnie hasło należy ustawić jako
git config --global http.proxy *http://usernamne:**AB%4012%23%26**@myipadress:portnumber*
Zapoznaj się z tabelą ascii, aby poznać szesnastkowy kod ascii dowolnej liczby.
źródło
W przypadku dowolnych znaków specjalnych, w nazwie użytkownika lub haśle, zawsze możemy zamiast tego użyć ciągów zakodowanych w UTF-8. Na przykład: ! można zastąpić% 21
więc komenda brzmiałaby, jeśli hasło to abc !:
npm config set proxy http: // user: abc%[email protected]: 8080 /
konfiguracja npm https-proxy http: // użytkownik: abc%[email protected]: 8080 /
źródło
Czy na podstawie tej odpowiedzi dotyczącej SO możesz spróbować użyć ^, aby uciec od symbolu @?
źródło
set http_proxy=http://foo:B^@[email protected]:80
jruby -S gem install rake
BŁĄD: Podczas wykonywania gem ... (URI :: InvalidURIError) schemat http nie akceptuje części rejestru: foo: B @ r @ http- gateway.domain.org:80 (lub zławget: unable to resolve host address
tf4ce @ server.company.com '' po ustawieniu zmiennej środowiskowej proxy.