前置き
会社のproxyがこの春に更新され、emailをIDとして使うようにお達しがおりました。困ったことにemailには @ が含まれており、Linuxではproxy認証が通りません。
一方、windowsでは、このような特殊文字も問題なく利用できるようで、社内で苦情を言う人はほぼ私一人でした。
苦情を申し立てても無視されてしまい、独力で解決方法を探した次第。
この件は日本語の記事が少ないようですが、数年前にここに記載がありました。それを補足するのがこの記事です。windowsではおそらく不要です。(macはどうなのかな? homebrewでは必要かもしれませんね。)
Special Character(特殊文字)のpercent encoding
下記に記載したwikiをご覧いただくと、中程にReserved characters after percent-encoding なる表があります。必要なのはこれです。これに沿って特殊文字を変換します。
## Original
ID : 123.zz@abc.com
password : Abc123#
## eocodings of special character
@ : %40
# : %23
## percent encodings of original
123.zz%40abc.com
Abc123%23
## add to zshrc, bashrc...
# proxy:192.168.1.1
# port:8080
export HTTPS_PROXY=http://123.zz%40abc.com:Abc123%23@192.168.1.1:8080
参照page
もう少し複雑な例はこのpageにあります。参照ください。
英語でよければ、以下を読まれると理解が深まると思います。wikiは英語の方を読んでください。日本語では肝心な特文字の変換表がありませんので。英語がだめな方はDeepLなどを利用されては如何。
お願い
上記でも駄目なのがw3mです。optionのpageを開いて、いろいろ試しましたが、どうしてもproxy認証が通りません。
上記以外の原因で、proxyとのnegotiationがうまくいかない可能性が高いので、logを見直してしてみます。
もしどなたか解決策をご存知でしたらお教えください。
# proxy repose.
### using percent encodings.
Username for Web-Proxy Server: 123.zz%40abc.com
Password for Web-Proxy Server: ******
....
Wrong username or password