1
>>require 'net/https'
>>uri = URI('https://www.facebook.com/careers/department?dept=product-management&req=a2KA0000000E147MAC')
>>conn = Net::HTTP.new(uri.host, uri.port)
>>req = Net::HTTP::Get.new(uri.request_uri, {'User Agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1'})
>>resp = conn.request req
=> #<Net::HTTPFound 302 Found readbody=true>

Web サイトによってスローされた 302 リダイレクトは、「サポートされていないブラウザー」ページにリダイレクトします。このリクエストのユーザー エージェントの設定で何が間違っていますか? ブラウザから返されたものと同じユーザー エージェント文字列を使用しています。追加情報: このユース ケースでは、watir などのライブラリを使用できません。「net/http[s]」または「open-uri」のいずれかを使用したソリューションは素晴らしいでしょう。

4

1 に答える 1

3

「User Agent」をハイフンで「User-Agent」に変更します。

于 2012-09-02T20:59:56.993 に答える