Как просмотреть необработанный запрос HTTPoison

Я пытаюсь отправить эту форму, используя HTTPoison

https://gist.github.com/shankardevy/6728d63eb528b3cb223a

с приведенным ниже кодом:

HTTPoison.post!(url,{:multipart, [{"username", "user"}, {"password", "pass"}]})

Однако на полученной странице появляется "неверная аутентификация". Но когда я пытаюсь войти с использованием тех же учетных данных с помощью браузера, он работает.

Итак, мне было интересно, могу ли я увидеть необработанный HTTP-запрос HTTPoison, чтобы я мог сравнить его с необработанным запросом из браузера.

Ответ 1

Если вы просто хотите увидеть запрос, как насчет доступа к http://httpbin.org? Он отсылает запрошенную информацию.

iex(1)> IO.puts HTTPoison.post!("http://httpbin.org/post",{:multipart, [{"username", "user"}, {"password", "pass"}]}).body

HTTPoison использует hackney как backend, и у меня есть пример загрузки файлов, используя hackney в следующем (хотя он несколько отличается от вашего примера, я отправляю его для вашей справки, поскольку ранее я боролся нахождение примеров о многочастности).

https://github.com/parroty/excoveralls/blob/master/lib/excoveralls/poster.ex

Есть ли какая-либо особая причина использовать multipart для просто отправки параметра пользователя/пароля, кстати?

Ответ 2

Вы можете использовать awesome ngrok инструмент для создания прокси для ваших запросов, например.

$ ngrok example.com 8080

выплюнет URL-адрес, например http://abcd1234.ngrok.com, который проксирует любые запросы, отправленные ему на порт example 8080. Затем вы можете проверить необработанные запросы в пользовательском интерфейсе веб-мониторинга ngrok, http://localhost:4040. Излишне говорить, что вы будете отправлять все свои данные третьим лицам, поэтому не отправляйте никакие имена пользователей и пароли, которые вы не хотите просачиваться.