Можете ли вы пропинговать другой сайт с помощью C # или JS / Ajax? - PullRequest
1 голос
/ 29 марта 2010

В нашем веб-приложении я пытаюсь проверить связь со сторонним сайтом, чтобы выяснить, работает ли он, прежде чем перенаправлять на него наших клиентов. До сих пор я не видел другого способа сделать это, кроме как с помощью настольного приложения или системной консоли. Это возможно? Я слышал, что в оригинальном ASP был трюк с изображением.

В настоящее время мы используем .NET MVC с Javascript.

Спасибо,

Джош

Ответы [ 3 ]

4 голосов
/ 29 марта 2010

Вы можете выполнить двухэтапный процесс, когда вы делаете вызов 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 голосов
/ 29 марта 2010

Возможно, вы ищете класс System.Net.HttpWebRequest . Вы можете использовать этот класс, чтобы сделать запрос в стороннюю систему. Если это веб-приложение ASP.Net, вы, вероятно, делаете этот вызов из своего кода.

Затем вы захотите проверить код ответа 200. Все становится немного сложнее, если вам приходится беспокоиться о безопасности или передавать файлы cookie пользователей.

0 голосов
/ 29 марта 2010

Смотрите ответ на этот вопрос, чтобы сделать это с помощью jquery. как к тест-а-URL-в-JQuery

...