最近、WinHTTP コマンドの使用頻度が増えてきたので、ここで一度、その詳細と周辺情報についてまとめておくことにしました。
Windowsをもっと使いたおす方法
この記事ではWindowsのかいつまんだ機能について紹介していますが、Windowsをもっと使いたおすための学習方法ついてはこちらにまとめています。
1.WinHTTPってなに?
WinHTTPの全貌を理解するために、まずその定義から始めましょう。複雑な技術用語は避けつつ、it用語辞典e-wordsから抜粋した情報を基に解説します。
WindowsにはもともとWinINETという通信コンポーネントがあり、HTTPやFTPなどインターネットで標準的に使われるプロトコルをサポートしていた。WinINETはクライアントを想定して開発されたものだったため、サーバとしての利用も考慮したHTTP専用のコンポーネントとしてWinHTTPが開発された。クライアントとして利用することもでき、Windows XPなどはWindows UpdateにアクセスするのにWinHTTPを利用している。
要するに、プロキシ設定の際には以下の二種類の設定が存在することを理解しておく必要があります。
(1)インターネットオプション
コントロールパネルから(またはWindowsの検索バーから「インターネットオプション」で検索し)、「インターネットオプション」→「接続」タブ→「LANの設定」→「プロキシサーバー」での設定します。
(2)コマンドプロンプトでwinhttpコマンド
コマンドプロンプト上でwinhttpコマンドを使って設定を行います。以下のようにいくつかのオプションを指定できます。
よく使う import、reset、set、showについては後ほど使い方を説明します。
2.WinHTTPとインターネットオプションのプロキシ設定の違い
上述したように、インターネットオプションとWinHTTPのプロキシ設定には明確な違いがあります。
インターネットオプションで設定したプロキシは、Edge、Chrome、Firefox等のブラウザに適用されます。
一方で、WinHTTPで設定したプロキシはWindows Update、Office 365、その他のオンラインアクティベーションなどに使用されます。また、PowerShellでps.outlook.comなどに接続する場合もWinHTTPの設定が適用されます。
このような違いを理解しておけば、例えば「インターネットオプションでプロキシ設定を済ませたのになぜOfficeのオンライン認証が通らない?」といった混乱がなくなりますね。
3.これだけ知っとけばいいWinHTTPコマンド
以下に、WinHTTPの基本的なコマンドを示します。以下の設定変更系コマンドは、管理者権限でコマンドプロンプトを起動して実行する必要があります。
管理者としてコマンドプロンプトを起動するには、Windowsキー+Rで「ファイル名を指定して実行」を起動し、「cmd」と打った後、ctrl+shiftを押しながらEnterが手っ取り早いですよ。
現在のWinHTTPのプロキシ設定状況を確認する方法
現在のWinHTTPのプロキシ設定を確認するには、以下のコマンドを実行します。
netsh winhttp show proxy
インターネットオプションのプロキシ設定をWinHTTPプロキシに適用する方法
インターネットオプションのプロキシ設定を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を適切に設定し、ネットワーク通信の問題を回避することができます。
本ブログでは業務に役立つ技術情報をこれからも発信していきますので、困った時にはぜひ参考にしてみて下さいね。