"remote name could not be resolved" exception when trying to download response using .NET WebClient

37,531

One possibility is your browser uses some proxy where your code does not (or use different one).

If it is the case make sure to set WebClient.Proxy property to match one in the browser.

If it is not proxy issue - check if DNS resolves correctly via external tools (like http://mxtoolbox.com/DNSLookup.aspx) - it is unlikely, but possible if browser uses different DNS than your code.

Share:
37,531
fgenc
Author by

fgenc

Updated on July 14, 2022

Comments

  • fgenc
    fgenc almost 2 years

    I am trying to download a response from a certain website in order to confirm the site is up and to measure the response time (which is provided in the site content)

    The page has url like https://www.blabla.com.au/ServiceAvailability

    I can put in the page url in my browser and I can see the page is up and response time provided. I can also click the link and the page will load in the visual studio browser as well.

    But when I try to call the same url from my application I get the following System.Net.WebException:

    {"The remote name could not be resolved: "www.blabla.com.au"}

    The code is running on my local PC, I am also accessing the website from my local PC and can bring up the page from the browser and in VS

    My code looks like this:

    string myUrl ="https://www.blabla.com.au/ServiceAvailability";
    
    using (WebClient webClient = new WebClient())
    { 
        result = webClient.DownloadString(myUrl);
    }
    

    where result is a string

    I have tried the following to get around the problem:

    1. Run visual studio as an administrator
    2. Use my user name/ password as credentials instead of the default
    3. Put an @ infront of the url
    4. Tried using WebRequest and HttpWebRequest as per code blocks below:

      WebRequest req = WebRequest.Create(myUrl);
      res = req.GetResponse();
      
      HttpWebRequest req = WebRequest.Create(myUrl) as HttpWebRequest;
      HttpWebResponse res = req.GetResponse() as HttpWebResponse;
      
  • fgenc
    fgenc about 10 years
    I think your answer is on the right track, I will try it out and vote your answer up if it turns out to be the issue
  • fgenc
    fgenc almost 10 years
    I was able to resolve my issue by making use of the WebProxy class using (WebClient webClient = new WebClient()) { webClient.Proxy = new WebProxy("myproxy.com"); result= webClient.DownloadString(someURL);}
  • Lucas Palma Stabile
    Lucas Palma Stabile almost 7 years
    I got the same exception when trying to load [wikipedia] (en.wikipedia.org). When debugging i found that the link was changed to "www.en.wikipedia.org" somehow. Tested the link(en.wikipedia.org) in mxtoolbox.com/DNSLookup.aspx and that confirms that is down. Any reason why?
  • Alexei Levenkov
    Alexei Levenkov almost 7 years
    @LucasPalmaStabile feel free to ask new question instead of comment.
  • Adam Garner
    Adam Garner almost 7 years
    How can you find what the browser is using to plug into this? Thanks.
  • Alexei Levenkov
    Alexei Levenkov almost 7 years
    @AdamGarner stackoverflow.com/questions/8808052/… and similar question should answer that. Otherwise please ask separate question.