headless chrome で認証付きproxyを使う方法

headlessでないならこのやり方
how to set proxy with authentication in selenium chromedriver python? - Stack Overflow

headlessのchromeなら下のやり方しかなさげ。

os.environ['https_proxy'] = "http://user:pass@host:port"
os.environ['http_proxy'] = "http://user:pass@host:port"
os.environ['HTTPS_PROXY'] = "http://user:pass@host:port"
os.environ['HTTP_PROXY'] = "http://user:pass@host:port"

ただしdriverをインスタンス化する前に上記を定義しておく必要があり、その後は変更できないので、プログラム中で動的にプロキシーを変更することができない。


また、remote-debugging-portを使い場合はすでに存在するプロセスが使われることがあるが、そのプロセスがproxy適用前に生成されたものだと、proxyが適用されていない挙動をするので注意。
以下のコマンドで古いプロセスがあるかを調べ、あればkillする。

netstat -pna | grep 9222