HTTP Response 500!?
剛剛在解決一個小Bug
用瀏覽器瀏覽某個會丟301的網站時,在Ruby或Telnet都會丟500回來
什麼鬼.. 怎麼會這樣?
其實這是因為沒有User-Agent的關係啦
有些Web Server可能會Reject一些Header中沒有User-Agent的Request
所以這時候只要在丟request時加上User-Agent這個Header即可
原本的原始碼:
response = Net::HTTP.get_response(URI.parse(uri_str))改成:
uri = URI.parse(uri_str)這樣一來不管是301、302,還是最該死的404都沒問題啦XD
http = Net::HTTP.new(uri.host)
response = http.send_request('GET', uri.request_uri, {"User-Agent" => "Mozilla/5.0"})
(( 因為這篇是工作上的心得,所以只好擺在Rails啦XD