我正在開發一個應用程序在rails中需要檢查輸入網站的網址是否存在或不存在?例如,如果用戶輸入http://google.com,那麼它應該返回「Sitemaps present」。我已經看到了解決方案,通常網站在URL的末尾有/sitemap.xml或/ sitemap。所以我試着用typhoeus gem,檢查URL的response.code(如www.google.com/sitemap.xml或www.apple.com/sitemap),如果它返回的是200或301,則存在站點地圖,否則不會。但是我發現即使他們沒有網站地圖,一些網站會返回301,但他們會將其重定向到他們的主頁(例如http://yournextleap.com/sitemap.xml),因此我沒有得到確鑿的結果。任何幫助都會非常棒。 這裏是我的示例代碼來檢查網站地圖使用百頭巨怪:感動永久用於 永久重定向Ruby代碼來檢查網站是否有網站地圖
# the request object
request = Typhoeus::Request.new("http://apple.com/sitemap")
# Run the request via Hydra.
hydra = Typhoeus::Hydra.new
request.on_complete do |response|
if response.code == 301
p "success 301" # hell yeah
elsif response.code == 200
p "Success 200"
elsif response.code == 404
. puts "Could not get a sitemap, something's wrong."
else
p "check your input!!!!"
end
非常感謝Sunny的幫助。 –