私はURLを取得しており、HTTP GETを使用してページにクエリを渡しています。最新のフレーバー(net/http
)では、スクリプトが302応答を超えないということが起こります。私はいくつかの異なるソリューションを試しました。 HTTPClient、net/http、Rest-Client、Patron ...Ruby - net/http - リダイレクトの後
そのページの属性タグを検証するには、最後のページに進む必要があります。リダイレクトは、モバイルユーザーエージェントがモバイルビューにリダイレクトするページに当たることによるものであり、したがってヘッダー内のモバイルユーザーエージェントです。ここに私のコードは今日のようです:
require 'uri'
require 'net/http'
class Check_Get_Page
def more_http
url = URI.parse('my_url')
req, data = Net::HTTP::Get.new(url.path, {
'User-Agent' => 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5'
})
res = Net::HTTP.start(url.host, url.port) {|http|
http.request(req)
}
cookie = res.response['set-cookie']
puts 'Body = ' + res.body
puts 'Message = ' + res.message
puts 'Code = ' + res.code
puts "Cookie \n" + cookie
end
end
m = Check_Get_Page.new
m.more_http
私は何か提案は大歓迎です!
私は複数のリダイレクト後の最終的なURLを取得するには、[final_redirect_url](https://rubygems.org/gems/final_redirect_url)宝石を使用していました。 – Indyarocks