Windows の ProxyServer 値はマップになることがある
値全体を単一 URI のコンストラクターに渡すのではなく、プロトコル別の Windows プロキシ文字列を認識する。
スクリプトが Windows のインターネット設定から ProxyServer を読み取り、WebProxy.Address に代入する。あるマシンでは動作するが、次のような値の別のマシンでは失敗する:
http=proxy-a.example:8080;https=proxy-b.example:8080
これはプロトコル別の構成文字列であり、単一のプロキシ URI ではない。単一のアドレスを期待するコンストラクターに値全体を渡すと、入力の意味が変わる。
| エントリ | プロキシの選択対象 |
|---|---|
| http=... | HTTP 宛先リクエスト |
| https=... | HTTPS 宛先リクエスト |
https キー自体は、そのプロキシへの接続が TLS を使うことを意味しない。通常の HTTP プロキシでも CONNECT を通じて HTTPS 宛先を運べる。
クライアントが提供する場合は、実際の宛先に対してサポートされているシステムプロキシ インターフェイスを優先する。手動プロキシ文字列、バイパス規則、自動構成 URL、自動検出は構成の異なる部分である。レジストリ値を 1 つ読むだけではそれらすべてを再現できない。保存されたマップを調べるなら、ProxyServer の隣にある ProxyEnable と AutoConfigURL を読む。
統合が手動マッピングを解析する必要がある場合は、文書化された形式に従い、プロトコルの関連付けを保持し、選択した各値に実際の URI またはエンドポイント パーサーを使う。すべてのコロンで分割すると IPv6 が壊れる。最初のエントリを選ぶと上記の区別が失われる。
これは適切なアカウント コンテキスト内に保つ。対話型ユーザーの設定は、別の ID で実行されるサービスの設定では自動的にはない。