Исправление ошибки 416: HTTParty

Ошибка 416 при попытке получить сайт с HTTParty. Работает просто отлично в браузере.

Я никогда не получал эту ошибку раньше, поэтому я зашел в интернет и нашел это:

Это происходит, когда сервер не может выполнить запрос. Это может быть, например, из-за того, что клиент запросил 800-900-й байт документа, но длина документа составляет всего 200 байт.

Запрос включает поле заголовка запроса Range, и никакие значения спецификатора диапазона в этом поле не перекрывают текущий экстент выбранного ресурса, а также запрос не включает поле заголовка запроса If-Range.

Хотите знать, если кто-то получил 416 с HTTParty раньше и есть ли способ предотвратить эту форму. Спасибо

Пример веб-сайта, на котором возникает ошибка: http://www.bizjournals.com/jacksonville/blog/morning-edition/2014/07/teens-make-up-less-of-summer-workforce-than-ever.html

1 ответ

Похоже, что bizjournals может обнаружить, что вы бот (не доступ в браузере) и, следовательно, возвращает 416.

irb(main):005:0> HTTParty.get('http://www.bizjournals.com/jacksonville/blog/morning-edition/2014/07/teens-make-up-less-of-summer-workforce-than-ever.html').body
=> "........As you were browsing <strong>http://www.bizjournals.com</strong> something about your browser made us think you were a bot. There are a few reasons this might happen........"

Вы можете либо попросить бизнес-журналов разрешить вам делать запросы, либо попытаться изменить заголовки, чтобы заставить бизнес-журналиста думать, что вы не бот.

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