

curlのプロキシ認証、-xオプションと環境変数どっちで書いても同じ
この記事は、構成と文章の整理にAIを使っています。
あくまで読みやすくするための補助で、内容そのものをAIにすべて任せて書いているわけではありませんが、ところどころ相談しながら整えています。
-xオプションで指定する場合
curl example.com -x http://<auth-username>:<auth-password>@<proxy-host>:<proxy-port>-x(--proxy)は [protocol://][user:password@]host[:port] という書式を取るので、これで認証付きプロキシをそのまま指定できる。
パスワードに @ や : が入ってると壊れるので、その場合はURLエンコードするか、-U user:password でユーザー名・パスワードだけ分離した方が安全。
環境変数で指定する場合
export http_proxy=http://username:password@192.168.1.1:3214export https_proxy=http://username:password@192.168.1.1:3214http_proxy / https_proxy はcurlに限らずwgetやgitなど多くのCLIツールが見に行く慣習的な環境変数。curlは小文字表記を優先して読む。
大文字の HTTP_PROXY は環境によって読まれなかったり、意図的に無視される実装があるらしい(httpoxy脆弱性の経緯で警戒されてる)。実機で全パターン検証したわけではないので、そこは未確認。
除外したいホストがあるなら no_proxy も一緒に設定しておくと良い。
結論
どっちの方法でも認証付きプロキシは通せる。一時的に1コマンドだけ通したいなら -x、シェルセッション全体やcurl以外のツールにも効かせたいなら環境変数、という使い分けで良さそう。