Для приложения, которое уже использует ibrowse, прямой прокси относится к параметрам запроса:

Options = [{proxy_host, "proxy.example"},
           {proxy_port, 8080}],
ibrowse:send_req("http://www.example.com/", [], get, [],
                 Options, 5000).

Этот пример предполагает, что приложение ibrowse уже запущено. Шестой аргумент задаёт тайм-аут запроса в миллисекундах. URL запроса указывает пункт назначения; proxy_host и proxy_port указывают посредника. Замените заполнитель неаутентифицированным кандидатом из списка HTTP-прокси, когда проверяете этот публичный HTTP-адрес.

Документированные параметры аутентификации — proxy_user и proxy_password. Добавьте их, когда прокси требует эту учётную запись, вместо того чтобы использовать логин самого пункта назначения как взаимозаменяемые учётные данные.

Синхронный результат может быть {ok, Status, Headers, Body} или кортежем ошибки. Проверьте Status, а также тег кортежа. Перенаправление HTTP или ответ прокси с ошибкой может успешно прийти на транспортном уровне, не являясь страницей, которую ожидало приложение.

Этот фрагмент следует документированному интерфейсу параметров HTTP-прокси. Он не настраивает другие HTTP-клиенты Erlang и не устанавливает поддержку каждой схемы аутентификации прокси. Держите маршрут и обработку результата рядом с запросом, чтобы вызывающий код мог объяснить, какой конечный пункт он испробовал и какой ответ получил.

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