def Utils.http_get(uristr, readtimeout=8, opentimeout=4)
Net::HTTP.version_1_2
uri = URI.parse uristr
query = uri.path
if uri.query
query += "?#{uri.query}"
end
proxy_host = nil
proxy_port = nil
if(ENV['http_proxy'] && proxy_uri = URI.parse(ENV['http_proxy']))
proxy_host = proxy_uri.host
proxy_port = proxy_uri.port
end
begin
http = Net::HTTP.new(uri.host, uri.port, proxy_host, proxy_port)
http.open_timeout = opentimeout
http.read_timeout = readtimeout
http.start {|http|
resp = http.get(query)
if resp.code == "200"
return resp.body
end
}
rescue => e
error "Utils.http_get exception: #{e.inspect}, while trying to get #{uristr}"
return nil
end
end