GeekProxy в Postman и Insomnia

У обоих API-клиентов есть нормальный экран прокси, и оба применяют его ко всему приложению, а не к одной коллекции. В гайде настройки Postman, Newman и Postman CLI для тех же коллекций из терминала и Preferences в Insomnia, с точными названиями полей и единственным ограничением по SOCKS, которое имеет значение.

Что нужно: активный план GeekProxy и данные прокси из кабинета. Настройка занимает минуты три на приложение.

Получить прокси

1 Перед началом

Postman и Insomnia это десктопные приложения для Windows, macOS и Linux, у обоих есть бесплатный тариф, и оба держат прокси в глобальных настройках. Прокси на коллекцию или на запрос нет ни там, ни там: настройка действует на каждый запрос приложения. Insomnia идёт дальше и ведёт через тот же прокси весь свой трафик, включая синхронизацию и вход. Веб-версия Postman прокси по умолчанию настроить вообще не может, поэтому гайд про десктопное приложение.

SOCKS5 с логином и паролем, честная версия:

  • В выпадающем списке протоколов Postman есть HTTP, SOCKS5, SOCKS5H, SOCKS4 и SOCKS4A, но переключатель "Proxy auth" описан как basic-авторизация. Доходят ли эти логин и пароль до SOCKS5-прокси, мы подтвердить не смогли. Проверенный путь это HTTP с "Proxy auth"
  • Insomnia принимает префиксы socks4://, socks4a://, socks5:// и socks5h://, в зависимости от версии, а логин и пароль привязывает к Basic, Digest и NTLM, то есть к HTTP-механизмам. SOCKS5 с логином не проверен. Берите http://LOGIN:PASSWORD@IP:PORT
  • Newman: SOCKS только в библиотечном режиме через свой агент; сам CLI читает переменные HTTP-прокси

Белый список IP в плане снимает вопрос. Оба приложения тогда берут голые хост и порт.

Что понадобится

Ваши данные доступа
  • Поле Откуда взять
  • Протокол HTTP (SOCKS5 с белым списком IP)
  • Хост IP или имя шлюза из кабинета
  • Порт из кабинета
  • Логин из кабинета
  • Пароль из кабинета

2 Где взять данные прокси

  1. Войдите в кабинет GeekProxy
  2. Откройте план. У планов с оплатой за IP (датацентр, ISP) список адресов, порты, логин и пароль лежат прямо на карточке, а кнопка Export отдаёт весь список текстом
  3. У резидентских и мобильных планов нажмите Options. Панель Proxy Configuration соберёт строку логина с вашей страной, городом и настройками сессии. Готовую строку копируйте из Proxy List

Postman хочет четыре значения в четырёх отдельных полях, Insomnia хочет один URL. Держите под рукой обе формы. Для гео-проверки по странам соберите в кабинете логин Turbo со страной и session_id, чтобы весь прогон коллекции шёл с одного адреса.

Insomnia, Preferences > Proxy
Кабинет GeekProxy, страница Subscriptions: планы ISP со ссылкой Export, планы Residential Flex и Turbo с кнопками Options и Add GB
Кабинет GeekProxy, Residential Flex
Подписка Residential Flex, панель Proxy Configuration: континент, ASN, ZIP, регион, ОС устройства, тип прокси и TTL сессии, ниже готовая строка curl

3 Postman: Settings, Proxy

Нажмите иконку Settings в шапке, выберите Settings и откройте вкладку Proxy. На странице два блока, и про ваши запросы только второй.

"Default proxy configuration" это системный прокси, через который приложение ходит в интернет. Если тому прокси нужна Basic-авторизация, отметьте "This proxy requires authentication", заполните "Username" и "Password" и нажмите "Save and Restart Postman". Для GeekProxy этот блок не трогайте, если только вся ваша ОС и так не сидит за прокси.

"Proxy configurations for sending requests" это нужный блок. В нём переключатель "Use system proxy" с необязательным вторым переключателем, который читает переменные HTTP_PROXY, HTTPS_PROXY и NO_PROXY из ОС, и переключатель "Use custom proxy configuration". Включите второй; если включены оба, Postman берёт custom. Дальше:

  1. "Use proxy for": оставьте отмеченными и HTTP, и HTTPS, так по умолчанию
  2. "Proxy server": выберите HTTP в списке протоколов, впишите IP в поле хоста и PORT в поле порта. Документация повторяет дважды: протокол в поле хоста не писать
  3. Включите "Proxy auth" и введите LOGIN и PASSWORD
  4. "Proxy bypass": список хостов через запятую, которые идут мимо custom-прокси, например ваши локальные сервисы

Настройки действуют на запросы, которые шлёт Postman, и на онлайн-ресурсы, к которым он обращается. Capture proxy, где Postman сам работает прокси для телефона или браузера, это отдельная функция и здесь не участвует.

Postman, Settings, Proxy
Настройки прокси в Postman: включена своя конфигурация прокси, отмечены HTTP и HTTPS, заполнены хост и порт, ниже поля авторизации прокси и списка исключений.

Переменные прокси на уровне ОС важнее. Если в окружении есть HTTP_PROXY или HTTPS_PROXY, Postman использует системный прокси и игнорирует собственные настройки. Уберите переменные или запускайте Postman из оболочки, где они очищены.

Postman, GET https://ipinfo.io/json
Вкладка запроса в Postman: GET запрос к сервису проверки IP, статус 200 OK, в ответе IP прокси, страна, город и провайдер.

4 Newman и Postman CLI

Newman гоняет те же коллекции из терминала, и в его README один раздел про прокси: переменные окружения. HTTP_PROXY или http_proxy, HTTPS_PROXY или https_proxy, и NO_PROXY или no_proxy. Флага нет, в списке опций его не существует.

export HTTPS_PROXY="http://LOGIN:PASSWORD@IP:PORT"
export HTTP_PROXY="http://LOGIN:PASSWORD@IP:PORT"
newman run collection.json

Подробности про эти переменные README отдаёт библиотеке postman-request, и ту страницу мы не читали. Форма scheme://user:pass@host:port в этой экосистеме стандартная; если логин из URL не подхватится, переведите план на белый список IP и используйте http://IP:PORT. Для всего, что должно оставаться локальным, задайте NO_PROXY.

Терминал, newman run через переменные окружения
Терминал: экспорт HTTPS_PROXY и HTTP_PROXY с URL GeekProxy, затем newman run collection.json

SOCKS в библиотечном режиме

Когда Newman работает как Node-библиотека, options.requestAgents принимает свои агенты для HTTP и HTTPS, и пример в README использует socks-proxy-agent. README до сих пор показывает старый API с default-экспортом и объектом { host, port }; нынешний socks-proxy-agent экспортирует { SocksProxyAgent } и принимает URL.

const newman = require('newman');
const { SocksProxyAgent } = require('socks-proxy-agent');
const requestAgent = new SocksProxyAgent('socks5h://LOGIN:PASSWORD@IP:PORT');

newman.run({
    collection: require('./sample-collection.json'),
    requestAgents: {
        http: requestAgent,   // агент для HTTP-запросов
        https: requestAgent,  // агент для HTTPS-запросов
    }
}, function (err) {
    if (err) { throw err; }
    console.log('collection run complete!');
});

Postman CLI, более новый бинарник postman, на странице опций никакого прокси не упоминает. Читает ли он переменные окружения, мы не проверяли; когда прогон должен идти через прокси, берите Newman.

5 Insomnia: Preferences, Proxy

Откройте Preferences и перейдите в Proxy. С версии 10.1 Insomnia сама подхватывает прокси операционной системы, и тот же экран позволяет её переопределить. HTTP- и HTTPS-прокси вводятся полными URL с префиксом схемы, а логин и пароль идут в URL как Basic-авторизация; пример из документации: http://username:password@localhost:8005. Для GeekProxy:

  • Поле HTTP-прокси: http://LOGIN:PASSWORD@IP:PORT
  • Поле HTTPS-прокси: то же значение
  • "No Proxy": имена хостов через запятую, которые идут мимо прокси, например localhost

Insomnia поддерживает ещё Digest и NTLM на прокси, GeekProxy это не нужно. Одно стоит помнить: прокси действует на весь трафик приложения, и документация прямо говорит, что ограничить его отдельными коллекциями или запросами нельзя. Синхронизация и вход едут через тот же прокси.

Insomnia, Preferences, Proxy
Окно Preferences в Insomnia на вкладке Proxy: отмечен Enable proxy, значения полей Proxy for HTTP и Proxy for HTTPS скрыты, справа список No proxy.

6 Проверка работы

Создайте в любом из приложений GET-запрос на https://ipinfo.io/json и отправьте. Поле ip должно показать адрес прокси, а не ваш. На ISP или датацентре это адрес из кабинета, на Residential или Turbo любой адрес из пула в выбранной стране. Поля country и org описывают сеть прокси.

Для Newman добавьте тот же запрос в черновую коллекцию и прочитайте ответ в выводе прогона. Вернулся ваш IP, значит переменные не экспортированы в той оболочке, где запущен Newman, или NO_PROXY зацепил больше, чем вы хотели.

7 Какой продукт GeekProxy подходит

Разработчику, который тестирует API с фиксированного адреса или из страны, где API ведёт себя иначе, нужен один неизменный IP: статический ISP или датацентр IPv4, без счётчика трафика, а с белым списком IP и вовсе без ввода пароля. Гео-проверки по многим странам это работа для Residential Turbo: логин со страной вроде -country-xx в поле Username плюс sticky session_id, чтобы весь прогон коллекции шёл с одного адреса. Residential Flex тоже подходит, он только TCP, а Postman и есть TCP. Во всех случаях берите HTTP; SOCKS5 в API-клиенте ничего не добавляет. Мобильные нужны для API, которые ведут себя иначе в сетях операторов.

8 Частые проблемы

Postman игнорирует custom-прокси

В окружении ОС есть переменные прокси, и Postman идёт за системным прокси. Очистите HTTP_PROXY и HTTPS_PROXY и перезапустите приложение.

Postman не подключается после вставки хоста

В поле хоста попал http://. Уберите протокол из поля; эту информацию несёт список рядом.

407 через запись SOCKS5 в Postman

"Proxy auth" задокументирован как basic-авторизация, и применимость к SOCKS5 мы подтвердить не смогли. Выберите HTTP в списке или внесите IP в белый список и оставьте SOCKS5 без логина.

В Insomnia перестали работать синхронизация или вход

Весь трафик Insomnia теперь идёт через прокси. Добавьте нужные хосты в "No Proxy" или выключите прокси на время входа.

Newman идёт напрямую, несмотря на переменные

Их задали в другой оболочке или без export. Поставьте их в одну строку с командой либо экспортируйте в той оболочке, где запускается Newman.

Библиотечный режим Newman падает на SocksProxyAgent

Сниппет в README использует старый API. Импортируйте { SocksProxyAgent } и передавайте URL, как в разделе 4.

Не получается? Напишите нам в Telegram, Discord или в чат на сайте. Обычно отвечаем в течение нескольких минут.

Прокси для Postman и Insomnia

Статические ISP и датацентр для фиксированного адреса или резидентские сессии по странам, выдача за секунды.

Заказать

We use cookies to improve user experience. By clicking "Yes, I agree", you consent to this use of cookies.

Привилегия первых: В честь глобального запуска [мы даем скидку 50%+] на все датацентр тарифы. Эксклюзивное предложение для наших стартовых партнеров.