2009-07-28 3 views
1

원격 웹 사이트의 pingback-url을 자동 검색하려고하므로 원격 서버에서 보낸 HTTP 응답 헤더를 구문 분석해야합니다. 방법이 있나요레일 : 서버 응답 HTTP 헤더를 얻는 방법?

curl -I "your url" 

:

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

유사 컬을 사용하는 : 나는 단지 이런 식으로 뭔가를 찾고 있어요,하지 않아도 원격 웹 사이트의 내용을 싶지 않아 레일로 이것을 할 수 있을까요? open-uri를 사용할 때 내용 만 가져올 수 있지만 헤더는 가져올 수 없습니다.

감사합니다. Ole

답변

5

이 질문은 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" 
+1

멋지다. –

2

당신이 보석을 사용하여 괜찮다면, 당신은 libcurl에서 라이브러리에 대한 루비 래퍼입니다 Patron을 시도 할 수 있습니다. 사용법은 다음과 같을 수 있습니다.

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