2010-03-29 44 views
1

在我們的網絡應用程序上,我試圖ping一個第三方網站,看看它是否已經啓動,然後再重定向我們的客戶。到目前爲止,我還沒有看到從桌面應用程序或系統控制檯以外的其他方式。這可能嗎?我聽說原來的ASP有一個圖像技巧。您可以使用C#或JS/Ajax跨站點ping另一個站點嗎?

目前我們使用的是.NET MVC使用Javascript。

謝謝

喬希

回答

4

你可以做一個兩個階段的過程中,你做一個AJAX調用,如果它的工作原理,然後重定向到該網站。例如,AJAX調用可以這樣做:

public bool IsAddressResponsive(string Address) 
{ 
    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(Address); 
    req.Method = "GET"; 
    HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); 
    if (resp.StatusCode == HttpStatusCode.OK || resp.StatusCode == HttpStatusCode.Accepted) 
    { 
     return true; 
    } 
    else 
    { 
     return false; 
    } 
} 

而且如果反應是真,那麼重定向的地址。

+0

這似乎很好,謝謝;) – 2010-03-29 16:56:46

0

見在這個問題上使用jQuery做答案。 how-to-test-a-url-in-jquery

+0

看起來像接受的答案中的外部鏈接改變了,它現在http://binarykitten.me.uk/dev/jq-plugins/88-jquery-plugin-ajax-head-request.html – 2010-03-29 16:00:01

+0

也許我只是使用它錯誤,但插件似乎是本地URL檢查。含義www.YourDomain.com/home.html,因爲如果我嘗試www.google.com。我得到www.YourDomain.com/www.google.com。 我正在查看www.YourDomain.com等網站是否從www.MyDomain.com上載。如果我可以在客戶端做到這一點很棒,因爲我相信當我的客戶的內聯網託管第三方時,我會遇到問題。 – 2010-03-29 18:17:14

0

您可能正在尋找System.Net.HttpWebRequest類。您可以使用此課程向第三方系統發出請求。如果它是一個ASP.Net的網絡應用程序,你可能會從你的代碼背後調用這個調用。

然後,您將要檢查200響應代碼。如果你不得不擔心安全性,或者傳遞用戶cookies,事情會變得更復雜。

+0

看起來像BADDAWG擊敗了我,幷包括一個代碼示例。漂亮的工作theBadDawg。 – Trent 2010-03-29 16:06:04

相關問題