2016-08-07 2 views
1

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

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

It occurs when the server is unable to fulfill the request. This may be, for example, because the client asked for the 800th-900th bytes of a document, but the document is only 200 bytes long.

The request includes a Range request-header field, and not any of the range-specifier values in this field overlaps the current extent of the selected resource, and also the request does not include an If-Range request-header field.

Хотите знать, если кто-то получил 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........" 

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

+0

Любое понимание того, как я могу изменить заголовки с httparty? –

+0

Это сообщение показывает, как передавать заголовки http://stackoverflow.com/questions/24691483/passing-headers-and-query-params-in-httparty – kcdragon

Смежные вопросы