簡體   English   中英

Rails:如何讓服務器響應HTTP標頭?

[英]Rails: How to get the servers response HTTP headers?

我想自動檢測遠程網站的pingback-url,因此我需要解析遠程服務器發送的HTTP響應標頭。 我不需要也不需要遠程網站的內容,我只是在尋找這樣的東西:

X-Pingback: http://www.techcrunch.com/xmlrpc.php

與使用curl類似:

curl -I "your url"

有沒有辦法用鐵軌做到這一點? 使用open-uri時,我只能獲取內容,而不能獲取標題。

謝謝! 奧萊

這不是特定於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"

如果您不介意使用gem,則可以嘗試Patron ,它是libcurl庫的紅寶石包裝。 用法可能看起來像這樣:

sess = Patron::Session.new
sess.timeout = 10
sess.base_url = "http://myserver.com:9900"
resp = sess.get( "your url" )
headers = resp.headers

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM