Can you cross-site ping another site using C# or JS/Ajax?

On our web application I am trying to ping a 3rd party site to see if it is up before redirecting our customers to it. So far I have not seen a way to do this other than from a desktop app or system console. Is this possible? I have heard that there was an image trick in original ASP.

Currently we are using .NET MVC with Javascript.

Thank you,

Josh

Answers


You can do a two stage process where you make an AJAX call and if it works then redirect to the site. For example, the AJAX call could do something like:

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;
    }
}

And if the response was true then redirect to the address.


See the answer on this question to do it using jquery. how-to-test-a-url-in-jquery


You are probably looking for the System.Net.HttpWebRequest class. You can use this class to make a request to the 3rd party system. If it is a ASP.Net web app, you are probably making this call from your code behind.

You will then want to check for a 200 response code. Things get a little trickier if you have to worry about security, or passing along the users cookies.


Need Your Help

JQuery: Google Maps "bounce" using JQuery Bounce package

javascript jquery google-maps

Does anyone know of a way to make a Google Maps marker "bounce" using JQuery Bounce package?

Error in importing Certificate?

java x509certificate keytool

keytool -genkey -keyalg RSA -dname "cn=rahul,ou=OU,o=DEV,c=IN" -alias rahul12 -keypass rahul12 -keystore rahul12.jks -storepass rahul12 -validity 366