認証画面の出ないツールやコマンドプロンプトで社内Proxy環境の認証を突破する方法

昔のブログから記事をコピペしています。
そのため、情報が古い可能性があります。

以降、以前のブログからの記事

今回は、社内などのProxy環境において、認証画面が出ないツールで認証を突破する方法を記載します。
突破と言えど、Proxyを無視するわけではなく、Windowsに認証情報を記憶させる事で
正式な手順を踏んで認証をクリアします。

Office製品でも、Visioなどは認証画面が出ない為Proxy環境下ではインストールが失敗してしまいます。
また、最近流行りのPythonスクリプトなどで、WEB情報を利用する自作ツールもコマンドプロンプトで実行する事になるので、これから紹介する方法を利用する必要があります。


大きく下記の2種類の方法で実現することができます。

  1. 環境変数にプロキシ(Proxy)情報を埋め込むパターン
  2. コマンドプロンプトにプロキシ(Proxy)情報を設定するパターン


環境変数にプロキシ(Proxy)情報を埋め込むパターン
この方法の利点は”どんなツールも認証が不要になる”
欠点は、PCにパスワードが生データとして保存される、悪意のあるソフトが認証無で社外に出れてしまう。
そのため、あまりお勧めしません。

変数名:http_proxy
変数値:http://{ユーザ名}:{パスワード}@{ホスト名}:{ポート番号}
変数名:https_proxy
変数値:http://{ユーザ名}:{パスワード}@{ホスト名}:{ポート番号}

設定例
変数値:http://hogehoge:12345@proxy.example.com:8080

環境変数の設定画面(Windows10)

コマンドプロンプトにプロキシ(Proxy)情報を設定するパターン
利点は、意図したソフト以外は認証を突破することができない。従来のセキュリティが保たれる(?)
欠点としては、毎回入力しないといけない事と、別スレッドを開く場合は認証が引き継がれない。

set http_proxy=http://{ユーザ名}:{パスワード}@{ホスト名}:{ポート番号}
set https_proxy=http://{ユーザ名}:{パスワード}@{ホスト名}:{ポート番号}

ちなみに、PIPなどでパッケージをインストールする際には
律儀に記述する方法の他に

set http_proxy=http://{ユーザ名}:{パスワード}@{ホスト名}:{ポート番号}
pip install {パッケージ名}

下記のようにオプションとしてproxyを記述することで、1行で記載することもできます。

pip install {パッケージ名} --proxy http://{ユーザ名}:{パスワード}@{ホスト名}:{ポート番号}

以上です。
認証Proxyが憎い!