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 婆婆66岁祝福语简短
14 大哥添孙子简短祝福语
15 送给妈妈新年祝福语简短
16 过年拜年祝福语大全简短
17 医师考试祝福语毕业简短
18 元旦祝福语同学简短创意