url
Railsコントローラーで、ユーザーが入力したURL(たとえば、変数内にある)にリクエストを送信し、応答が50Xでないことを確認して検証したいと思います。どうやってやるの?
質問する
161 次
2 に答える
1
Net::Http
次のようにモジュールを使用してコントローラーからリクエストを送信できます
uri = URI('http://festivalsherpa.com')
response = Net::HTTP.get_response(uri)
response.to_hash["status"] will return you proper response code
于 2012-11-24T05:56:43.310 に答える
0
もう1つの方法があります
次のような、より意味のある方法で行うことができます。
uri = URI.parse(your_url)
connection = Net::HTTP.new(uri.host)
request = Net::HTTP::Get.new(uri.request_uri) # For post req, you can replace 'Get' by 'Post'
response = connection.request(request)
あなたは何が返されるかを見ることができます:
p response.body
返される応答がJSONの場合は、次のことができます。
JSON.parse(response.body) #It will give you hash object
応答コード/ステータスを確認できます
p response.code
ステータスコードを処理する場合は、caseステートメントを使用して処理できます
case response.code
when "200"
<some code>
when "500"
<some code>
end
等々..
于 2012-11-24T06:46:37.373 に答える