直接リクエストには別の Erlang httpc プロファイルを使う
プロキシを設定しない名前付きプロファイルを起動し、直接呼び出しのたびにその名前を渡し、所有するコンポーネントとともに停止します。
共有のプロキシプロファイルはそのままにして、直接作業用の別プロファイルを作成します。inets が動作しているアプリケーション内で:
{ok, ProfilePid} =
inets:start(httpc, [{profile, direct_work}]).新しく作成したプロファイルには、アプリケーションが設定しない限りプロキシがありません。リクエストで明示的に選択します:
httpc:request(
get,
{"http://example.com/", []},
[],
[],
direct_work
).後続の呼び出しで direct_work を省略すると、再び既定のプロファイルが選択されます。このプロファイルのルーティング設定は httpc:get_options([proxy, https_proxy], direct_work) で確認できます。
プロファイルは Cookie と接続処理も所有します。その状態はコンポーネントとともに保持し、作業が終わったら inets:stop(httpc, ProfilePid) でプロファイルを停止します。この直接ルートを得るために httpc_manager の内部状態を書き換えたり、共有マネージャを終了したりする必要はありません。