Ошибка HTTPoison.get() в эликсире

У меня есть следующий URL

https://www.michaelkors.com/four-in-one-logo-belt-box-set/_/R-US_39F6LBLY4B?color=0200

И нужно получить тело страницы через 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, %HTTPoison.Error{reason: reason}} ->
       {:error, reason}
end

Для других URL это работает, похоже, ошибка, вызванная из-за определенного шаблона в URL

1 ответ

Это не имеет большого значения с Elixir/HTTPoison. Веб-сайт установил лимиты в соответствии с заголовком запроса.

Curl работает только с заголовками, такими как:

curl 'https://www.michaelkors.com/four-in-one-logo-belt-box-set/_/R-US_39F6LBLY4B?color=0200' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36' -H 'Connection: keep-alive' -H 'Accept-Language: en-US,en;q=0.8,zh-CN;q=0.6,zh;q=0.4,zh-TW;q=0.2'

Вы также должны установить эти заголовки в HTTPoison,

Другие вопросы по тегам