Оставьте общий профиль прокси на месте и создайте отдельный профиль для прямой работы. В приложении, где работает 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 или завершать общий менеджер, чтобы получить этот прямой маршрут.

Похожие статьи