從JS(pinger)ping的Ameer Dawood ideea開始,當遠程IP是http服務器並請求HTTP驗證時,瀏覽器彈出窗口用戶名/密碼框。如何避免這種情況,如果遠程服務器請求認證,我們知道遠程服務器正在響應,我需要調用alive()函數(不適用於http://someBogusUser:[email protected] + ip,因爲它再次請求密碼,我不希望有保存在客戶端腳本:)的corect密碼)
代碼的主要部分是這樣的:從遠程IP請求HTTP驗證時ping問題JS問題
img = new Image();
img.onload = function() { alive()();};
img.onerror = function() { unreachable()();};
img.src = "http://" + ip;
setTimeout(function() { unreachable();}, 1500);
Curently我想要測試是否我可以使用一個XMLHttpRequest的readyState和狀態看看遠程IP是否響應。
任何人都有一個關於如何做到這一點的理念,或者知道另一種方法來測試一個IP是否存在於JS中。請不要給我服務器端解決方案(我正在使用它們+ AJAX)。
謝謝
編輯: 我認爲,網絡工作者將到達瀏覽器停止任何認證彈出,但他們不能處理DOM事件(onload事件,onError的),所以工人不能幫助... :(
你爲什麼要這樣做?如果您不希望用戶輸入該網站的任何憑據,那麼爲什麼遠程站點是啓動還是關閉? – bzlm 2010-09-24 08:52:22
這不是一個我試圖「ping」的網站,只是網絡中一些網絡設備的IP,其中一些網絡設備具有HTTP和請求認證,但其中大多數不是(它們具有snmp/ssh/telnet),請參閱我留給@bobince的評論。 – 2010-09-24 09:13:23