首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails:如何获取服务器响应HTTP报头?

问Rails:如何获取服务器响应HTTP报头?
EN

Stack Overflow用户
提问于 2009-07-28 15:23:13
回答 2查看 3.9K关注 0票数 1

我想自动检测远程网站的pingback-url,所以我需要解析远程服务器发送的HTTP响应头。我不需要也不想要远程网站的内容,我只想找这样的东西:

代码语言:javascript
复制
X-Pingback: http://www.techcrunch.com/xmlrpc.php

类似于使用curl:

代码语言:javascript
复制
curl -I "your url"

有没有办法用rails做到这一点?当使用open-uri时,我只能获取内容,而不能获取头部。

谢谢!Ole

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-07-28 15:47:54

这不是Rails特有的问题,但可以使用核心Ruby API来解决。

代码语言:javascript
复制
require 'net/http'

url = URI.parse('http://www.google.ca/')
req = Net::HTTP::Head.new(url.path)

res = Net::HTTP.start(url.host, url.port) {|http|
   http.request(req)
}

puts res['X-Pingback']
> "http://www.techcrunch.com/xmlrpc.php"
票数 5
EN

Stack Overflow用户

发布于 2009-07-28 15:52:57

如果您不介意使用gem,可以尝试一下Patron,它是libcurl库的一个ruby包装器。用法可能如下所示:

代码语言:javascript
复制
sess = Patron::Session.new
sess.timeout = 10
sess.base_url = "http://myserver.com:9900"
resp = sess.get( "your url" )
headers = resp.headers
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1194879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档