Windows の PAC 結果で R curl ハンドルを構成できる
実際の URL に対する Windows のプロキシ判定を調べ、返された 1 つのエンドポイントを明示的な R curl ハンドルに適用します。
Windows では、R curl パッケージが ie_get_proxy_for_url を公開し、特定の宛先に対するシステムの判定を取得できます。サポートされるプロキシエンドポイントを 1 つ返すポリシーの場合:
target <- 'https://data.example/report.csv'
selected <- curl::ie_get_proxy_for_url(target)
handle <- curl::new_handle(
proxy = if (is.null(selected)) '' else selected
)
result <- curl::curl_fetch_memory(target, handle = handle)このヘルパーは自動構成または検出を評価できます。その検索自体に時間がかかることがあります。PAC スクリプトの取得と実行にネットワーク処理が必要になる場合があるからです。
NULL の結果は、プロキシが選択されなかったことを意味します。この例ではその結果を空のプロキシオプションにマッピングし、libcurl が継承された環境プロキシを代用しないようにします。
プロトコルマッピングや 複数の候補 を含む結果は、1 つの libcurl エンドポイントとして扱う前に確認してください。Windows の構成ストアが返すリストは、自動的に有効な単一のプロキシ URL ではありません。
ポリシーが宛先ごとに異なるルーティングを行える場合は、他の宛先でも選択を繰り返してください。1 つのホストだけを評価し、その結果を汎用の HTTP および HTTPS ルートとして保存しないでください。
検索が選ぶのはルートであり、プロキシの識別情報ではありません。必要に応じて、アカウントとサポートされる認証方式をハンドルに構成してください。curl の名前空間を解除して new_handle をグローバルに置き換える必要はありません。