免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3877 | 回复: 0
打印 上一主题 下一主题

Ruby二进制文件转码到Base64并通过Post进行提交 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-02-14 10:16 |只看该作者 |倒序浏览
Ruby二进制文件转码到Base64并通过Post进行提交


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


Ruby代码
  1. $KCODE = 'utf8'  
  2.   
  3. require 'base64'  
  4. require 'net/http'  
  5. require 'uri'  
  6. require 'cgi'  
  7.   
  8. data = File.read('default.db')   
  9.   
  10. b64= Base64.encode64(data)   
  11.   
  12. http = Net::HTTP.new('www.abc.com', 80)   
  13.   
  14. path = '/path'  
  15.   
  16. data = "data=#{CGI.escape(b64)}"  
  17. headers = {}   
  18.   
  19. resp, data = http.post(path, data, headers)   
  20.   
  21. puts 'Code = ' + resp.code   
  22. puts 'Message = ' + resp.message   
  23. resp.each {|key, val| puts key + ' = ' + val}  
复制代码
带有SSL加密的请求

Ruby代码
  1. $KCODE = 'utf8'  
  2.   
  3. require 'base64'  
  4. require 'net/http'  
  5. require 'net/https'  
  6. require 'uri'  
  7. require 'cgi'  
  8.   
  9. data = File.read('default.db')   
  10.   
  11. b64= Base64.encode64(data)   
  12.   
  13. http = Net::HTTP.new('www.abc.com', 443)   
  14. http.use_ssl = true  
  15.   
  16. #Turning off verify_mode for SSL   
  17. http.verify_mode = OpenSSL::SSL::VERIFY_NONE   
  18.   
  19. path = '/path'  
  20.   
  21. # GET request -> so the host can set his cookies   
  22. #resp, data = http.get(path, nil)   
  23.   
  24. data = "data=#{CGI.escape(b64)}"  
  25. headers = {   
  26. }   
  27.   
  28. resp, data = http.post(path, data, headers)   
  29.   
  30. puts 'Code = ' + resp.code   
  31. puts 'Message = ' + resp.message   
  32. resp.each {|key, val| puts key + ' = ' + val}  
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP