Как изменить заголовки в Ruby для репликации Firefox? - PullRequest
0 голосов
/ 30 апреля 2011

Я пытаюсь создать автоматизированный инструмент, и мне бы хотелось, чтобы мой скрипт имитировал заголовки, подобные Firefox.В настоящее время выполнение HTTP get будет иметь минимальное количество заголовков.Я верю в метод, принимаю и принимаю.

Это метод, который я сейчас использую:

def fetch(url_str, limit = 10)
    raise ArguementError, 'HTTP redirect too deep' if limit == 0

    res = Net::HTTP.get_response(URI.parse(url_str))

    case res
    when Net::HTTPSuccess then
        $dpage += res.body
    when Net::HTTPRedirection then 
        $dpage += fetch(res['location'], limit - 1)
    else
        puts res.error!
    end
end

Как я могу изменить это на большее количество заголовков?Или даже изменить «Принять», который уже существует?

Я пробовал метод, использующий «Net :: HTTP :: Get.add_field», но это привело к ответу «Bad Request» от хоста.

Когда я проанализировал пакеты, я понял, почему.Заголовки были не в правильном порядке.Не в том порядке, в котором я добавлял их в свой код.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 30 апреля 2011

Вы можете попробовать механизировать .

0 голосов
/ 30 апреля 2011

Вы должны рассмотреть что-то вроде Typhoeus , у которого есть хороший API для обработки этих вещей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...