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