Ruby程序中发送基于HTTP协议的请求的简单示例
1.建立HTTP连接(通过GET方式发送请求参数)
require"open-uri" #如果有GET请求参数直接写在URI地址中 uri='http://uri' html_response=nil open(uri)do|http| html_response=http.read end putshtml_response require"open-uri" #如果有GET请求参数直接写在URI地址中 uri='http://uri' html_response=nil open(uri)do|http| html_response=http.read end putshtml_response
2.通过POST发送请求参数
params={}
params["name"]='Tom'
uri=URI.parse("http://uri")
res=Net::HTTP.post_form
(uri,params)
#返回的cookie
putsres.header['set-cookie']
#返回的htmlbody
putsres.body
params={}
params["name"]='Tom'
uri=URI.parse("http://uri")
res=Net::HTTP.post_form
(uri,params)
#返回的cookie
putsres.header['set-cookie']
#返回的htmlbody
putsres.body
3.HTTPS请求
#
#描述:
#发送快递数据到datasystem,使用https
#输入:
#data-组装后的expess的数据
#输出:
#datasystem返回的状态信息
#
defself.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__}行")
returnnil
end
returnresponse.body
end热门推荐
10 儿子立冬祝福语简短独特
11 对当兵的祝福语简短
12 侄儿高考试祝福语简短
13 伴郎红包祝福语朋友简短
14 媳妇生日简短祝福语朋友
15 公司年会祝福语简短最好
16 元旦感恩祝福语简短大全
17 红包祝福语简短10字
18 周六早晨祝福语简短