HTTPotion のプロキシオプションを ibrowse に渡す
既存の HTTPotion クライアントの ibrowse トランスポートを、想定される Elixir と Erlang の値型で構成します。
既存の HTTPotion アプリケーションでは、エンドポイントをその ibrowse トランスポートに渡します:
response = HTTPotion.get(
"http://www.example.com/",
ibrowse: [proxy_host: ~c"proxy.example", proxy_port: 8080]
)
~c リテラルはプロキシのホスト名に Erlang の charlist を渡します。ポートは整数です。HTTP プロキシ一覧にある HTTP エンドポイントなら、表示されている許可された公開リクエスト用にこの 2 つのフィールドを埋められます。プロキシのアカウントを追加する必要はありません。HTTPotion の README は、ibrowse のオプションが通常の Elixir バイナリ文字列ではなく charlist を使うと指摘しています。
外側の URL はあくまで宛先です。入れ子になった ibrowse のキーワードリストはトランスポートオプションの受け渡しであり、HTTP ヘッダーでもクエリパラメーターでもありません。
HTTPotion が返す Response または ErrorResponse は、アプリケーションの通常の流れで処理します。感嘆符なしのメソッドはエラーオブジェクトを返すことがあり、get! は操作が失敗すると例外を送出します。
これは HTTPotion の保守用リファレンスです。メンテナーはこのライブラリを非推奨としています。HTTPoison は別のトランスポートインターフェースを持つ別のライブラリであり、名前が似ているからといってその proxy 引数が同じオプションになるわけではありません。