最近、WinHTTP コマンドの使用頻度が増えてきたので、ここで一度、その詳細と周辺情報についてまとめておくことにしました。
1.WinHTTPってなに?
WinHTTPの全貌を理解するために、まずその定義から始めましょう。複雑な技術用語は避けつつ、it用語辞典e-wordsから抜粋した情報を基に解説します。
WindowsにはもともとWinINETという通信コンポーネントがあり、HTTPやFTPなどインターネットで標準的に使われるプロトコルをサポートしていた。WinINETはクライアントを想定して開発されたものだったため、サーバとしての利用も考慮したHTTP専用のコンポーネントとしてWinHTTPが開発された。クライアントとして利用することもでき、Windows XPなどはWindows UpdateにアクセスするのにWinHTTPを利用している。
要するに、プロキシ設定の際には以下の二種類の設定が存在することを理解しておく必要があります。
(1)InternetExplorer
「インターネットオプション」→「接続」タブ→「LANの設定」→「プロキシサーバー」での設定します。
(2)コマンドプロンプト
コマンドプロンプトのwinhttpコマンドで設定を行います。
2.WinHTTPとIEのプロキシ設定の違い
上述したように、IEとWinHTTPのプロキシ設定には明確な違いがあります。
IEで設定したプロキシは、IE自体や他のブラウザ(Chrome、Firefoxなど)に適用されます。一方で、WinHTTPで設定したプロキシはWindows Update、Office 365、その他のオンラインアクティベーションなどに使用されます。また、PowerShellでps.outlook.comなどに接続する場合もWinHTTPの設定が適用されます。
このような違いを理解しておけば、例えば「IEでプロキシ設定を済ませたのにOfficeのオンライン認証が通らない!」といった混乱を避けることができます。
3.これだけ知っとけばいいWinHTTPコマンド
以下に、WinHTTPの基本的なコマンドを示します。(※以下の設定変更系コマンドは、管理者権限でコマンドプロンプトを起動して実行する必要があります)
現在のWinHTTPのプロキシ設定状況を確認する方法
現在のWinHTTPのプロキシ設定を確認するには、以下のコマンドを実行します。
netsh winhttp show proxy
IEのプロキシ設定をWinHTTPプロキシに適用する方法
IEのプロキシ設定をWinHTTPに適用するには、以下のコマンドを使用します。
netsh winhttp import proxy source=ie
WinHTTPプロキシ設定をリセットする方法
WinHTTPのプロキシ設定をリセットするには、以下のコマンドを実行します。
netsh winhttp reset proxy
WinHTTPプロキシ設定を手動で行う方法
プロキシ設定を手動で行う際には、以下のコマンドを使用します。
netsh winhttp set proxy proxy-server="xxx.xxx.xxx.xxx:8080" bypass-list="yyy.yyy.yyy.*;"
以上が、WinHTTPのプロキシ設定に関する基本的なガイドです。これらの情報を押さえておけば、WinHTTPを適切に設定し、ネットワーク通信の問題を回避することができます。
![](https://done.sakura.ne.jp/technote/wp-content/plugins/pochipp/assets/img/pochipp-logo-t1.png)
![](https://done.sakura.ne.jp/technote/wp-content/plugins/pochipp/assets/img/pochipp-logo-t1.png)