您可以使用C#或JS / Ajax跨站点ping另一个站点吗?

时间:2010-03-29 15:54:45

标签: c# ajax web-applications cross-site pinging

在我们的网络应用程序上,我试图ping第三方网站,看看它是否已启动,然后再将客户重定向到它。到目前为止,除了桌面应用程序或系统控制台之外,我还没有看到过这样做的方法。这可能吗?我听说原始ASP中有一个图像技巧。

目前我们正在使用带有Javascript的.NET MVC。

谢谢,

乔什

3 个答案:

答案 0 :(得分: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;
    }
}

如果回复为真,则重定向到该地址。

答案 1 :(得分:0)

使用jquery查看关于此问题的答案。 how-to-test-a-url-in-jquery

答案 2 :(得分:0)

您可能正在寻找System.Net.HttpWebRequest课程。您可以使用此类向第三方系统发出请求。如果它是一个ASP.Net网络应用程序,您可能正在从您的代码后面进行此调用。

然后,您需要检查200响应代码。如果您不得不担心安全性或传递用户cookie,事情会变得有点棘手。