После многого, я нашел некоторые решения, которые кажутся рабочими, но не для меня...
Например, у меня есть этот скрипт:
require 'net/http'
require "net/https"
@http=Net::HTTP.new('www.xxxxxxx.net', 443)
@http.use_ssl = true
@http.verify_mode = OpenSSL::SSL::VERIFY_NONE
@http.start() {|http|
req = Net::HTTP::Get.new('/gb/PastSetupsXLS.asp?SR=31,6')
req.basic_auth 'my_user', 'my_password'
response = http.request(req)
print response.body
}
Когда я запускаю его, он дает мне страницу, запрашивающую аутентификацию, но если я напишу следующий URL-адрес в браузере, я попаду на сайт без проблем:
https://my_user:[email protected]/gb/PastSetupsXLS.asp?SR=31,6
Я также пытался с открытым uri:
module OpenSSL
module SSL
remove_const :VERIFY_PEER
end
end
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
def download(full_url, to_here)
writeOut = open(to_here, "wb")
writeOut.write(open(full_url, :http_basic_authentication=>["my_user", "my_password"]).read)
writeOut.close
end
download('https://www.xxxxxxx.net/gb/PastSetupsXLS.asp?SR=31,6', "target_file.html")
Но результат тот же, сайт запрашивает аутентификацию пользователя. Какие-нибудь советы о том, что я делаю неправильно? Должен ли я кодировать пароль в Base 64?