httr のプロキシ設定で認証スキームを選択する
リクエストが 407 を受け取ったとき、httr の use_proxy ヘルパーでプロキシ アカウントと Basic または NTLM の明示的な選択を渡します。
httr の use_proxy ヘルパーは、プロキシ アカウントと認証スキームをまとめて受け取ります。上位レベルの httr 呼び出しでは、同じ設定を選択した式の周囲に適用できます。
route <- httr::use_proxy(
'proxy.example',
port = 8080,
username = Sys.getenv('PROXY_USER'),
password = Sys.getenv('PROXY_PASSWORD'),
auth = 'ntlm'
)
response <- httr::GET('https://api.example/items', route)
ntlm は、プロキシがそのスキームを提供し、インストール済みの libcurl ビルドが対応している場合にのみ使います。それでもやり取りが失敗する場合は、curl の NTLM プロキシ診断がチャレンジ、ビルドのサポート、接続の継続性の確認を説明します。Basic を期待するプロキシでは auth = 'basic' を選びます。Basic は use_proxy の既定値です。Windows 形式のユーザー名を渡すだけでは NTLM は選ばれません。
このヘルパーはこれらの値を libcurl の proxyuserpwd、proxyport、proxyauth オプションに割り当てます。port 引数は数値である必要があります。
407 はプロキシのログインに関するものです。API 用に httr::authenticate やアプリケーションの Authorization ヘッダーで渡したアカウントは、受信者が異なります。
実際のプロキシ エンドポイントと通知されたチャレンジを、秘密情報を除いてエラー報告に残します。アカウントの誤り、スキームの誤り、未対応の認証方式では修理方法が異なります。証明書検証の変更はその選択にはなりません。