【发布时间】:2010-03-29 15:54:44
【问题描述】:
在我们的 Web 应用程序中,我正在尝试 ping 第三方网站以查看它是否已启动,然后再将我们的客户重定向到该网站。到目前为止,除了从桌面应用程序或系统控制台之外,我还没有看到其他方法。这可能吗?听说原来的 ASP 有图片技巧。
目前我们正在使用带有 Javascript 的 .NET MVC。
谢谢,
乔什
【问题讨论】:
标签: c# ajax web-applications cross-site pinging
在我们的 Web 应用程序中,我正在尝试 ping 第三方网站以查看它是否已启动,然后再将我们的客户重定向到该网站。到目前为止,除了从桌面应用程序或系统控制台之外,我还没有看到其他方法。这可能吗?听说原来的 ASP 有图片技巧。
目前我们正在使用带有 Javascript 的 .NET MVC。
谢谢,
乔什
【问题讨论】:
标签: c# ajax web-applications cross-site pinging
您可以执行一个两阶段的过程,您可以在其中进行 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;
}
}
如果响应为真,则重定向到该地址。
【讨论】:
查看这个问题的答案以使用 jquery 来完成。 how-to-test-a-url-in-jquery
【讨论】:
您可能正在寻找System.Net.HttpWebRequest 类。您可以使用此类向 3rd 方系统发出请求。如果它是一个 ASP.Net Web 应用程序,您可能正在从您的代码中进行此调用。
然后您需要检查 200 响应代码。如果您必须担心安全性或传递用户 cookie,事情会变得有点棘手。
【讨论】: