1. 建立HTTP串連(通過GET方式發送請求參數)
require "open-uri" #如果有GET請求參數直接寫在URI地址中 uri = 'http://uri' html_response = nil open(uri) do |http| html_response = http.read end puts html_response require "open-uri" #如果有GET請求參數直接寫在URI地址中 uri = 'http://uri' html_response = nil open(uri) do |http| html_response = http.read end puts html_response
2. 通過POST發送請求參數
params = {} params["name"] = 'Tom' uri = URI.parse("http://uri") res = Net::HTTP.post_form(uri, params) #返回的cookie puts res.header['set-cookie'] #返回的html body puts res.body params = {} params["name"] = 'Tom' uri = URI.parse("http://uri") res = Net::HTTP.post_form(uri, params) #返回的cookie puts res.header['set-cookie'] #返回的html body puts res.body
3.HTTPS請求
# # 描述: # 發送快遞資料到datasystem,使用https # 輸入: # data - 組裝後的expess的資料 # 輸出: # datasystem返回的狀態資訊 # def self.senddatassl(url,data) url = url + data $logger.info(url) begin uri = URI.parse(URI.escape(url)) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true if ($logger != nil) $logger.info("連結地址參數:#{URI.escape(url)},檔案名稱:#{__FILE__},第 #{__LINE__} 行") $logger.info("傳入data參數:#{data.to_json},檔案名稱:#{__FILE__},第 #{__LINE__} 行") end request = Net::HTTP::Get.new(uri.request_uri) response = http.request(request) rescue =>exception $logger.error("傳遞url地址為#{url},錯誤!#{exception.to_s},檔案名稱:#{__FILE__},第 #{__LINE__} 行") return nil end return response.body end