1
我用下面的代碼,以請求,並按照重定向:法拉第中間件知道什麼事情被重定向
require 'faraday'
require 'faraday_middleware'
conn = Faraday.new() do |f|
f.use FaradayMiddleware::FollowRedirects, limit: 5
f.adapter Faraday.default_adapter
end
resp = conn.get('http://www.example.com/redirect')
resp.status
代碼輸出200,因爲它遵循重定向,這是偉大的。但無論如何要知道重定向是否存在?如resp.redirected
,如果遵循重定向,則設置爲true
;如果沒有遵循重定向,則設置爲false?
我在FollowRedirects的代碼中沒有看到任何明顯的東西。
如果我想知道這個,我是否需要編寫自己的自定義中間件?有沒有人知道那裏的中間件可能會這樣做?
檢查Typhoeus https://github.com/typhoeus/typhoeus,搜索followlocation。我不知道它是否做到了你想要的,但它可能。 :-)你可能想運行一個調試器並檢查任何提示的響應對象。 – Ollie
謝謝!我認爲我擁有的代碼正確地遵循重定向。我感興趣的是知道何時遵循重定向。我想我需要將結果網址與原始網址進行比較,看看它們是否相同。我只是不知道Faraday響應中是否有最終的url。 –
我知道,我只是想知道它是否有一些輔助方法來告訴你它是否被重定向。 :-) – Ollie