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