def self.request(method, uri, referer, headers, proxy, proxyport)
uri = valid_uri(uri) or return nil
method.downcase!
begin
http = Net::HTTP.new(uri.host, uri.port, proxy, proxyport)
req = uri.query.nil? ? uri.path : "#{uri.path}?#{uri.query}"
unless (referer.nil?)
headers["Referer"] = referer.to_s unless (headers["Referer"])
end
if (uri.scheme == "https")
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
end
response = http.send "request_#{method}", req, headers
rescue Exception => e
puts "Connection to #{uri} failed! -- #{e}"
return nil
end
response
end