Elixir中的HTTPoison.get()错误
我有以下网址 并且需要通过HTTPoison.get获取页面正文。 下面的方法给出了一个超时错误Elixir中的HTTPoison.get()错误,elixir,phoenix-framework,httpoison,Elixir,Phoenix Framework,Httpoison,我有以下网址 并且需要通过HTTPoison.get获取页面正文。 下面的方法给出了一个超时错误 case HTTPoison.get("https://www.michaelkors.com/four-in-one-logo-belt-box-set/_/R-US_39F6LBLY4B?color=0200", []) do {:ok, %HTTPoison.Response{body: body}} -> {:ok, body} {:error, %HTTP
case HTTPoison.get("https://www.michaelkors.com/four-in-one-logo-belt-box-set/_/R-US_39F6LBLY4B?color=0200", []) do
{:ok, %HTTPoison.Response{body: body}} ->
{:ok, body}
{:error, %HTTPoison.Error{reason: reason}} ->
{:error, reason}
end
对于其他URL来说,它是有效的,似乎是由于URL中的特定模式导致的错误,它与Elixir/HTTPoison没有多大关系。该网站已根据请求标题设置了限制 Curl仅适用于如下标题:
curl'https://www.michaelkors.com/four-in-one-logo-belt-box-set/_/R-US_39F6LBLY4B?color=0200“-H”用户代理:Mozilla/5.0(Macintosh;Intel Mac OS X 10_12_6)AppleWebKit/537.36(KHTML,如Gecko)Chrome/61.0.3163.100 Safari/537.36'-H'连接:保持活动状态'-H'接受语言:en-US,en;q=0.8,zh CN;q=0.6,zh;q=0.4,zh-TW;q=0.2'
您还需要在
HTTPoison
中设置这些标题,我认为此问题与Elixir
/HTTPoison
无关。我用普通的goodwget
/curl
也得到了这个url的超时。是的,它与Elixir/HTTPoison
没有太大关系。您可能需要添加标题,如Host
,Origin
等。