`

Ruby二进制文件转码到Base64并通过Post进行提交

阅读更多
ruby -v 写道
ruby 1.8.7 (2010-01-10 patchlevel 249) [i486-linux]
 

做这个小程序主要是将本地的数据库文件通过普通的Form表单提交到数据库进行存储。在这里不直接用file传输,主要是因为系统提供的服务不支持文件处理,那么就麻烦下客户端将数据转换成base64作为普通表项提交好了。

 

$KCODE = 'utf8'

require 'base64'
require 'net/http'
require 'uri'
require 'cgi'

data = File.read('default.db')

b64= Base64.encode64(data)

http = Net::HTTP.new('www.abc.com', 80)

path = '/path'

data = "data=#{CGI.escape(b64)}"
headers = {}

resp, data = http.post(path, data, headers)

puts 'Code = ' + resp.code
puts 'Message = ' + resp.message
resp.each {|key, val| puts key + ' = ' + val}

 

 带有SSL加密的请求

$KCODE = 'utf8'

require 'base64'
require 'net/http'
require 'net/https'
require 'uri'
require 'cgi'

data = File.read('default.db')

b64= Base64.encode64(data)

http = Net::HTTP.new('www.abc.com', 443)
http.use_ssl = true

#Turning off verify_mode for SSL
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

path = '/path'

# GET request -> so the host can set his cookies
#resp, data = http.get(path, nil)

data = "data=#{CGI.escape(b64)}"
headers = {
}

resp, data = http.post(path, data, headers)

puts 'Code = ' + resp.code
puts 'Message = ' + resp.message
resp.each {|key, val| puts key + ' = ' + val}
 
分享到:
评论

相关推荐

    ruby的二进制字符串与hex互转,二进制字符串与整数互转的工具函数

    本资源是ruby代码,提供了一系列封装好的函数,用于快速进行转换,一个函数搞定,包括如下转换,二进制字符串与hex字符串的互转。二进制字符串与整数互转,包括uint8,uin16,uint32, 以及本地字节序和网络字节序两种...

    ruby脚本转二进制可执行程序工具

    这是一个将ruby脚本转换成二进制可执行文件的工具,使用简单方便,功能强大,解压编译后生成rubyc可执行程序!转换ruby脚本时 使用rubyc 脚本.rb即可,可以自动检测依赖关系!使用非常方便!

    travel-ruby:可在任何Linux发行版和任何macOS机器上运行的自包含Ruby二进制文件

    Ruby的旅行:独立的便携式Ruby二进制文件 Traveling Ruby是一个提供独立的“便携式” Ruby二进制文件的项目:可在任何Linux发行版和任何macOS机器上运行的Ruby二进制文件。 它还具有Windows支持 。 这使Ruby应用...

    rubyx:RubyX将ruby编译为二进制(以ruby),希望能够快X倍

    检修完成,rubyx生成有效的二进制文件。 处理过程通过以下层进行:Ruby-> Sol-> SlotMachine-> Risc-> Arm-> binary。 当前,大多数基本构造都可以在某种程度上发挥作用,即,是否同时执行分配,无效,调用和动态...

    windows下安装Ruby 1.9 二进制zip包

    下面,我们将详细讨论如何通过二进制zip包在Windows上安装Ruby 1.9。 首先,你需要下载Ruby 1.9的Windows二进制zip包,可以从Ruby官方网站或者第三方可靠的下载站点获取。这个zip包通常包含了Ruby解释器以及必要的...

    run-node:无论如何运行Node.js二进制文件

    例如,macOS上的GUI应用程序不会继承 ,因此将找不到node二进制文件。 大多数依赖Node.js的项目最终只是告诉用户在某些项目特定的设置中手动设置node二进制文件的完整路径。 现在,每个项目都必须这样做。 我喜欢的...

    ruby-git, ruby/Git是一个 ruby 库,可以通过将系统调用包装到Git二进制文件来创建读取和操作Git存储库.zip

    ruby-git, ruby/Git是一个 ruby 库,可以通过将系统调用包装到Git二进制文件来创建读取和操作Git存储库 用于 ruby的 Git库在 ruby 中使用Git的库。主页项目源代码的Git public 位于:...

    rubies:Ruby 二进制文件在 DEB 或 RPM 包中可用,适用于大多数 Linux 发行版

    Ruby该存储库托管编译最新 MRI Ruby 版本的源代码,并将它们作为 DEB 或 RPM 包...支持的发行版Ubuntu 14.04 LTS x86_64 Ubuntu 12.04 LTS x86_64 Debian 7 x86_64 CentOS 6 x86_64 红帽 6 x86_64安装和使用前往 ,并选

    ruby-pack ruby打包工具

    一个将ruby脚本打包成二进制可执行文件的工具,包含源码和一个编译完成的二进制文件!支持跨平台编译,在windows、macOS、linux上均可以成功编译运行!包里的二进制文件是在ubuntu16.04中编译成功的版本!

    howsigned:查看如何对.ipa中包含的二进制文件进行签名的实用程序

    howsigned是一个ruby gem实用程序,用于查看.ipa中包含的二进制文件如何进行签名 在此定义与命令一起使用的二进制扩展名 安装 gem install howsigned 用法 以应用程序标识符为键的plist格式打印所有包含的二进制...

    rvm-download:rbenv插件可从RVM存储库下载ruby二进制文件

    rvm下载rvm-download是一个插件,提供了rbenv download命令,用于从下载和提取ruby二进制。安装$ git clone https://github.com/garnieretienne/rvm-download.git ~ /.rbenv/plugins/rvm-download用法$ rbenv ...

    用ruby读excel文件生成xml文件

    标题 "用ruby读excel文件生成xml文件" 描述的是一项技术任务,即使用Ruby编程语言来处理Excel文件,并将其内容转换成XML格式。这在数据迁移、格式转换或与不支持Excel格式的应用程序进行数据交换时非常有用。Ruby库...

    piet-binary:包含 Piet gem 后备二进制文件的 Ruby gem

    Piet-二进制描述Piet-Binary 它是一个 gem,提供与 gem 一起使用的二进制文件。 它是一种无害的宝石 - 您可以在没有附带影响的情况下添加到您的 Gemfile 中。 只有当您使用 Piet gem 并且您的系统中没有 jpegoptim/...

    binary_search:用于Ruby数组的本机和纯Ruby二进制搜索和索引方法

    如果我们知道绝对肯定的是,我们正在与正在工作的数组排序,你可以使用二进制搜索通过数组得多的速度远远超过线性搜索,这与指数进行或检测/查找搜索。 用法 这个gem定义了两种方法。 binary_search和binary_index...

    wkhtmltopdf-heroku:适用于heroku amd64的wkhtmltopdf二进制文件

    wkhtmltopdf-heroku 为 Ubuntu 18.04 / 20.04 LTS环境提供二进制文件。 预先配置 , 和以使用此二进制文件(如果已加载)。安装在您的Gemfile : 对于Heroku Stack 18/20(Ubuntu 18.04 / 20.04 LTS) gem '...

    convertSTL:在ASCII和二进制编码之间转换STL文件的实用程序

    用于在ASCII和二进制编码之间转换STL文件的实用程序。 我写这是为了节省处理STL文件时的磁盘空间和带宽。 某些建模程序包括此功能,但是最好具有更轻量的功能,并且可以从命令行调用它。 用法 $ ruby convertSTL.rb...

    holy-build-box:用于构建跨发行版Linux二进制文件的系统

    Holy Build Box可以生成x86_64二进制文件。 资源:| 目录 谁应该对便携式Linux二进制文件感兴趣? Holy Build Box支持哪些操作系统? 使用Holy Build Box编译的二进制文件支持哪些Linux发行版? 静态链接引入...

    ruby安装包-rubyinstaller-devkit-3.0.2-1-x64安装文件

    ruby安装包-rubyinstaller-devkit-3.0.2-1-x64安装文件 Ruby是一种面向对象、动态...1. 下载:你需要从官方网站或者可靠的源获取这个zip文件,并将其解压到一个方便的位置。 2. 安装Ruby:运行解压后的"rubyinstall

    ruby导出csv文件

    要从Ruby程序中导出数据到CSV文件,我们可以利用`FasterCSV`库,它为处理CSV文件提供了高效且灵活的方法。尽管在Ruby 1.9及更高版本中,`FasterCSV`已经被`csv`标准库所取代,但在某些情况下,开发者可能仍选择使用`...

    ruby 读取cfg文件

    在Ruby编程语言中,读取配置文件(如cfg文件)是一项常见的任务,这通常涉及到从文件中获取特定的键值对以供程序使用。在本篇文章中,我们将深入探讨如何在Ruby中有效地读取和处理cfg文件,以及如何根据指定的键来...

Global site tag (gtag.js) - Google Analytics