Proxy 如何在Phoenix框架中作为代理转发客户端请求?

Proxy 如何在Phoenix框架中作为代理转发客户端请求?,proxy,http-proxy,phoenix-framework,Proxy,Http Proxy,Phoenix Framework,我想在我的应用程序中充当某些请求的代理。 例如:如果用户请求链接“”,我希望将请求转发到外部网站并检索对该用户的响应。 这里的问题是,我不想进行URL重定向,但我想代表用户转发客户端请求 如何使用Phoenix framework执行此操作?要将数据“返回”到客户端,代码如下: HTTPoison.start response = HTTPoison.post!(url, body, []) conn |> halt |> html response.body 为了完整起见

我想在我的应用程序中充当某些请求的代理。 例如:如果用户请求链接“”,我希望将请求转发到外部网站并检索对该用户的响应。 这里的问题是,我不想进行URL重定向,但我想代表用户转发客户端请求

如何使用Phoenix framework执行此操作?

要将数据“返回”到客户端,代码如下:

HTTPoison.start
response = HTTPoison.post!(url, body, [])

conn |> halt   |>
html  response.body

为了完整起见,以下是我所做的:

case HTTPoison.get(url) do
    { :ok, response } -> conn |> put_resp_content_type(response.headers["Content-Type"]) |> send_resp(response.status_code, response.body)
    { :error, _error } -> conn |> put_status(:bad_gateway) |> render(AssetsProxy.ErrorView, "502.html")
  end

对整个长生不老药/凤凰派对来说还是很新鲜的,所以我相信还有一些东西需要改进。e、 g.它无法正确处理重定向。

您需要从插头连接读取传入数据(请参阅),然后使用HTTP客户端执行请求,如。谢谢!!;)它起作用了!我正在尝试做同样的事情,我仍然缺少的部分是如何将数据从HTTP客户端“返回”(流?)到客户端?您必须将conn的所有属性转换到适当的HTTPoison方法,这些方法应该是方法、主机、头和主体。如果您想发送其他类型的请求,该怎么办?