일부 언어에는 404 또는 500 메시지의 HTTP 내용을 가져올 수있는 라이브러리가 있다는 것을 알고 있습니다.404 오류 페이지 응답 루비의 내용 얻기
Ruby 용 라이브러리가 있습니까?
open-uri를 시도했지만 404 응답의 HTML 콘텐츠없이 HTTPError 예외 만 반환합니다.
일부 언어에는 404 또는 500 메시지의 HTTP 내용을 가져올 수있는 라이브러리가 있다는 것을 알고 있습니다.404 오류 페이지 응답 루비의 내용 얻기
Ruby 용 라이브러리가 있습니까?
open-uri를 시도했지만 404 응답의 HTML 콘텐츠없이 HTTPError 예외 만 반환합니다.
이것은 문서에서 충분히 명확하게 설명되어 있지는 않지만 HttpError에는 io 특성이 있습니다.이 특성은 내가 아는 한 읽기 전용 파일로 간주 할 수 있습니다.
require 'open-uri'
begin
response = open('http://google.com/blahblah')
rescue => e
puts e # Error message
puts e.io.status # Http Error code
puts e.io.readlines # Http response body
end
Net::HTTP
은 필요한 것을 지원합니다.
request_get 메서드를 사용할 수 있으며 상태 코드에 관계없이 응답을 반환합니다. 스크립트/콘솔에서
: 라이브러리가 기본적으로 당신에게 사용할 수없는 경우
> http = Net::HTTP.new('localhost', 3000)
=> #<Net::HTTP localhost:3000 open=false>
> resp = http.request_get('/foo') # a page that doesn't exist
=> #<Net::HTTPNotFound 404 Not Found readbody=true>
> resp.code
=> "404"
> resp.body
=> "<html>...</html>"
은 (, 당신은 HTTParty와
require 'net/http'
달콤한. 고마워, 닉! Open-uri는 Net :: HTTP를 감싸는 래퍼 (wrapper) 인 것 같습니다. 정말 도움을 주셔서 감사합니다. – leeroid
작품을 할 수뿐만 아니라 https://github.com/jnunemaker/httparty
require 'rubygems'
require 'httparty'
HTTParty.get("http://google.com/blahblah").parsed_response
사용할 수있는 HTTP 클라이언트 수가 많으며 https://www.ruby-toolbox.com/categories/http_clients
에서 원하는 것을 선택하십시오.
달콤한! 정확히 내가 무엇을 찾고 있었는지. 나는 그들이이 문서에 이것을 포함 시키길 바란다. 나는 거기에 확인 하고이 정보를 찾지 못했습니다 (상태 및 코드 tho에 대한 정보를 찾지 못했습니다) – leeroid