ruby - 使用 Ruby 请求 HTTP 资源时如何指定接受的内容类型?

标签 ruby http content-type open-uri

我一直使用open-uri,open("").read通过http获取内容。我正在使用它来访问 API,现在我需要指定接受什么内容类型。他们从 curl 中提供了这个例子

curl -LH "Accept: text/bibliography; style=bibtex" http://dx.doi.org/10.1038/nrd842

如何使用 open-uri 或其他 Ruby 函数执行此操作?

最佳答案

我建议使用 open 的 optional 散列,例如

open("http://dx.doi.org/10.1038/nrd842","Accept" => "text/bibliography; style=bibtex"){|f| f.each {|line| print line}}

产生一个结果。

另见 http://www.ruby-doc.org/stdlib-1.9.3/libdoc/open-uri/rdoc/OpenURI.html

关于ruby - 使用 Ruby 请求 HTTP 资源时如何指定接受的内容类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9403661/

相关文章:

ruby - 在 Ruby 中,如何获取对包含用于调用的参数的方法的引用?

ruby - 带括号和不带括号的方法调用的优先级是什么?

ruby-on-rails - 使用键的值作为同一散列中另一个键的值的一部分

content-type - Web 交付的 Excel 2003 SpreadsheetML 文件的最佳内容类型和扩展名

javascript - 使用javascript检查url内容类型

ruby - 构建网站 - 使用 Ruby 的最佳实践和架构

http - 有没有办法将文件的内容传递给 curl?

c - 如何用 C 编写一个显示网页的程序?

json - 如何在 RESTful API 中管理公共(public)和私有(private)资源

python - 使用 Python 将元数据添加到图像上传到 S3