Столкнулся с такой ситуацией. Пытаюсь скачать файл с сайта, сначала отправляется POST запрос, затем через GET получаю сам файл - так работает в браузере. Повторил все действия в Fiddler (сохранив header - ы запросов) все отпработало верно. Пытаюсь сделать через библиотеки net/http - не получается
require 'net/http'
require 'uri'
require 'watir-webdriver'
require 'open-uri'
def auth
@browser = Watir::Browser.new
@browser.goto ''
@browser.text_field(:id, 'UsernameTextbox').set ''
@browser.text_field(:id, 'PasswordTextbox').set ''
@browser.button(:id, 'LoginButton').click
end
def set_cookies
@header = { 'Cookie' => "" }
cookie_array = @browser.driver.manage.all_cookies
cookie_array.each { |cookie| @header["Cookie"] = @header["Cookie"].concat(cookie[:name] + "=" + cookie[:value]+"; ") }
end
auth
set_cookies
address = URI.parse ''
post_query = ''
get_query = ''
post_request = Net::HTTP::Post.new(post_query, @header)
post_request.body = ''
get_request = Net::HTTP::Get.new(get_query, @header)
res = Net::HTTP.start(address.host) do |http|
response = http.request(post_request)
response1 = http.request(get_request)
end
POST запрос являет - XMLHttpRequest
Ошибка в результате выдается - 500 => Net::HTTPInternalServerError for ‘’- - unhandled response
Может быть я как то неверно этот POST запрос передаю, (да пытался еще в заголовке POST запроса передать ‘X-Requested-With’ => ‘XMLHttpRequest’ но результат тотже)
В браузере если выполнить запросы то тоже произойдет ошибка, работает верно лишь тогда когда повторяю выполнение запросов в firebug командой “Resend”