我正在尝试使用HTTPoison提交此表单
https://gist.github.com/shankardevy/6728d63eb528b3cb223a
使用以下代码:
HTTPoison.post!(url,{:multipart, [{"username", "user"}, {"password", "pass"}]})
但是,生成的页面会显示“无效身份验证”。但是,当我尝试使用浏览器使用相同的凭据登录时,它可以正常工作。
所以我想知道我是否可以通过HTTPoison查看原始http请求,以便我可以将其与来自浏览器的原始请求进行比较。
答案 0 :(得分:10)
如果您只想查看请求,请访问http://httpbin.org
怎么样?它回应了所要求的信息。
iex(1)> IO.puts HTTPoison.post!("http://httpbin.org/post",{:multipart, [{"username", "user"}, {"password", "pass"}]}).body
HTTPoison
使用hackney
作为后端,我在下面使用hackney
进行文件上传示例(虽然它与您的示例有些不同,但我发布它以供参考,因为我以前努力寻找关于multipart的例子)。
https://github.com/parroty/excoveralls/blob/master/lib/excoveralls/poster.ex
是否有任何特殊原因可以使用multipart来发送用户/密码参数?
答案 1 :(得分:2)
您可以使用精彩的ngrok工具为您的请求创建代理,例如
$ ngrok example.com 8080
将吐出像http://abcd1234.ngrok.com这样的URL,代理发送给example.com端口8080的任何请求。然后,您可以在{{3}的ngrok网络监控UI中检查原始请求}。毋庸置疑,您将把所有数据发送给第三方,因此请不要提交任何您不想泄露的用户名和密码。