我想自动检测远程网站的pingback-url,所以我需要解析远程服务器发送的HTTP响应头。我不需要也不想要远程网站的内容,我只想找这样的东西:
X-Pingback: http://www.techcrunch.com/xmlrpc.php类似于使用curl:
curl -I "your url"有没有办法用rails做到这一点?当使用open-uri时,我只能获取内容,而不能获取头部。
谢谢!Ole
发布于 2009-07-28 15:47:54
这不是Rails特有的问题,但可以使用核心Ruby API来解决。
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"发布于 2009-07-28 15:52:57
如果您不介意使用gem,可以尝试一下Patron,它是libcurl库的一个ruby包装器。用法可能如下所示:
sess = Patron::Session.new
sess.timeout = 10
sess.base_url = "http://myserver.com:9900"
resp = sess.get( "your url" )
headers = resp.headershttps://stackoverflow.com/questions/1194879
复制相似问题