Sys.setenv(
https_proxy = "http://127.0.0.1:8080"
)
Когда работаешь с какой-нибудь API на R иногда нужно проконтролировать структуру веб-запросов, которая отправляется от нас в Интернет. С появлением пакета httr2 это стало делать гораздо проще с помощью функции httr2::req_dry_run()
, которая показыает структуру подготовленного запроса, никуда реально его не отправляя. Но когда запрос генерирует сторонний пакет, и что-либо не работает – то нужен объективный контроль.
Для этого можно использовать инструмент веб-безопасника OWASP Zed Attack Proxy – он же OWASP ZAP.
OWASP ZAP предназначен, главным образом, для исследования безопасности веб-приложений. Это проект с открытым исходным кодом, развиваемый сообществом OWASP. Для динамического анализа (DAST) веб-приложений внутри OWASP ZAP есть модуль проксирования и перехвата веб-запросов.
Как настроить OWASP ZAP для перехвата HTTP пакетов, генерируемых R? Приведу инстукцию для Ubuntu.
Инструкция
- Заходим в ZAP
- Идем в Tools - Options - Network - Server Certificates - Generate - Save
Сохраняем файл в любом месте.
- Добавляем сгенерированный новый сертификат в наше системное хранилище сертификатов:
sudo cp <путь к нашему сертификату> /usr/share/ca-certificates/
sudo dpkg-reconfigure ca-certificates
В появившемся меню выбираем звездочкой наш новый файл.
- Осталось в рабочей сессии R проинициализировать переменную окружения:
Все – трафик должен проходить сквозь прокси OWASP ZAP, и мы в его интерфейсе увидим перехваченный HTTP трафик!