利用net/https实现简易的的请求测试工具--ruby

require 'net/https'
require 'uri'
require 'json'

#请求参数
params = {
  "name":"kegu",
  "age":101
}

#请求头
header = {'content-type':'application/json'}

#get方式
def http_get(base_path,params,header)
  base_path = URI(base_path)
  base_path.query = URI.encode_www_form(params)
  http = Net::HTTP.new(base_path.host,base_path.port)
  return http.get(base_path,header)
end

#post方式
def http_post (base_path,params,header)
  base_path = URI(base_path)
  params=params.to_json
  http = Net::HTTP.new(base_path.host,base_path.port)
  return http.post(base_path, params,header)
end

#调用请求
res = http_post('http://localhost:3000/api/mxl/mxl_post',params,header)
# res = http_get('http://localhost:3000/api/mxl/mxl_get',params,header)

#响应内容
response = {
  "http版本":res.http_version,
  "响应代码":res.code,
  "响应消息":res.message,
  "uri":res.uri,
  "解码信息":res.decode_content
}
res.header.each do |k,v|
  response[k] = v
end

#输出
puts "-----消息头-----"
puts response
puts "-----消息体-----"
puts res.body

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
“ bundler: failed to load command: pod (/opt/homebrew/Cellar/fastlane/2.211.0/libexec/bin/pod)RubyGems Environment:- RUBYGEMS VERSION: 3.0.3.1- RUBY VERSION: 2.6.10 (2022-04-12 patchlevel 210) [universal.arm64e-darwin22]- INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.6.0- USER INSTALLATION DIRECTORY: /Users/e125866/.gem/ruby/2.6.0- RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby- GIT EXECUTABLE: /usr/local/bin/git- EXECUTABLE DIRECTORY: /usr/local/bin- SPEC CACHE DIRECTORY: /Users/e125866/.gem/specs- SYSTEM CONFIGURATION DIRECTORY: /Library/Ruby/Site- RUBYGEMS PLATFORMS:- ruby- universal-darwin-22- GEM PATHS:- /Library/Ruby/Gems/2.6.0- /Users/e125866/.gem/ruby/2.6.0- /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0- GEM CONFIGURATION:- :update_sources => true- :verbose => true- :backtrace => false- :bulk_threshold => 1000- :sources => ["https://gems.ruby-china.com/"]- :concurrent_downloads => 8- REMOTE SOURCES:- https://gems.ruby-china.com/- SHELL PATH:- /opt/apache-maven-3.8.6/bin- /opt/homebrew/bin- /opt/homebrew/sbin- /usr/local/bin- /System/Cryptexes/App/usr/bin- /usr/bin- /bin- /usr/sbin- /sbin- /usr/local/sbin- /Library/Apple/usr/bin- /var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin- /var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin- /var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin- /Users/e125866/.rvm/bin”这个有问题吗?
06-09

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值