ruby OpenURI模块使用
2024-08-26 09:42:22
OpenURI is an easy-to-use wrapper for Net::HTTP, Net::HTTPS and Net::FTP(OpenURI支持重定向)
- 像打开普通文件那样打开http/ftp的URL
open("http://www.ruby-lang.org/") {|f|
f.each_line {|line| p line}
} - 打开的文件对象已经被OpenURI::Meta所扩展, 您可以方便地获取meta信息
open("http://www.ruby-lang.org/en") {|f|
f.each_line {|line| p line}
p f.base_uri # <URI::HTTP:0x40e6ef2 URL:http://www.ruby-lang.org/en/>
p f.content_type # "text/html"
p f.charset # "iso-8859-1"
p f.content_encoding # []
p f.last_modified # Thu Dec 05 02:45:02 UTC 2002
} - 使用哈希表参数,您就可以指定添加的头字段
open("http://www.ruby-lang.org/en/",
"User-Agent" => "Ruby/#{RUBY_VERSION}",
"From" => "foo@bar.invalid",
"Referer" => "http://www.ruby-lang.org/") {|f|
...
} - 在默认情况下,http_proxy以及ftp_proxy这些环境变量都是有效的. 若想禁用代理,可以这样 :proxy => nil
open("http://www.ruby-lang.org/en/raa.html",
:proxy => nil) {|f|
...
} - URI对象的打开方式也是类似的
uri = URI.parse("http://www.ruby-lang.org/en/")
uri.open {|f|
...
} - 可以直接读取URI对象。返回的字符串已经被OpenURI::Meta所扩展
str = uri.read
p str.base_uri 访问https请求,open-uri + OpenSSL
open(url, :ssl_verify_mode => OpenSSL::SSL::VERIFY_NONE) { |f| ... }
最新文章
- AngularJS----基本操作
- C#FTP操作类含下载上传删除获取目录文件及子目录列表等等
- 执行最慢的SQL语句
- 杭电ACM1000
- angularJs实现信息数据提交功能
- Java实现文件的读写,复制
- jquery表单重置另一种方法
- iOS程序性能优化
- 聊聊JAVA中 String类为什么不可变
- matlab无法打开.m文件查看
- selenium自动加载各个浏览器插件
- Spring Security 中的加密BCryptPasswordEncoder
- [置顶] 获取网络数据中的数组显示成ListView的简单流程
- SSL 证书服务推荐
- Delphi 获取Ip地址的方法总结
- MVC使用Gantt Chart实现甘特图,管理事情进度
- Linux命令大观
- ubuntu 16.04下更换源和pip源【转】
- EnumSet基本用法
- 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-如何让不同的PLC程序分线程运行 TC3
热门文章
- Sharepoint学习笔记—修改SharePoint的Timeouts (Execution Timeout)
- laravel + haproxy + https 后生成分页 url 非 https 解决办法
- HCNA调整RIP的运行版本
- java 解压缩Zip文件 ziputil
- QQ空间那年今日 &; 人人过往的今天
- 使用while循环+try-except定位元素
- OC 类 的声明
- IOS NSLayoutConstraint 页面布局(通过代码添加约束)
- POJ 1011 Sticks 【DFS 剪枝】
- python常见异常及解决方法