“nom distant n'a pas pu être résolu” exception lorsque vous tentez de télécharger la réponse à l'aide .NET WebClient
Je suis en train de télécharger une réponse à partir d'un certain site web afin de confirmer que le site est en place et à mesurer le temps de réponse (qui est fourni dans le contenu du site)
La page d'url comme https://www.blabla.com.au/ServiceAvailability
Je peux mettre l'url de la page dans mon navigateur et je peux voir la page est en place et le temps de réponse fournis. Je peux également cliquer sur le lien et la page se charge dans visual studio navigateur ainsi.
Mais quand j'essaie d'appeler la même url à partir de mon application j'ai le System.Net.WebException
:
{"Nom distant n'a pas pu être résolu: "www.blabla.com.au"}
Le code est en cours d'exécution sur mon PC, je suis également de l'accès au site à partir de mon PC local et peut afficher la page dans le navigateur et dans VS
Mon code ressemble à ceci:
string myUrl ="https://www.blabla.com.au/ServiceAvailability";
using (WebClient webClient = new WebClient())
{
result = webClient.DownloadString(myUrl);
}
où result
est un string
J'ai essayé suivantes pour contourner le problème:
- Exécuter visual studio en tant qu'administrateur
- Utiliser mon nom d'utilisateur/mot de passe que les informations d'identification au lieu de la valeur par défaut
- Mettre un @ devant l'url
- Essayé d'utiliser WebRequest et HttpWebRequest que par des blocs de code ci-dessous:
WebRequest req = WebRequest.Create(myUrl); res = req.GetResponse(); HttpWebRequest req = WebRequest.Create(myUrl) as HttpWebRequest; HttpWebResponse res = req.GetResponse() as HttpWebResponse;
Salut Alex, je ne le pense pas parce que j'ai aussi essayé d'utiliser google.com.ua comme mon adresse url
OriginalL'auteur fgenc | 2014-05-12
Vous devez vous connecter pour publier un commentaire.
Une possibilité est que votre navigateur utilise des proxy où votre code n'est pas (ou différents).
Si c'est le cas, assurez-vous de définir WebClient.Proxy propriété à un match dans le navigateur.
Si elle n'est pas de proxy question - vérifier si le DNS résout correctement via des outils externes (comme http://mxtoolbox.com/DNSLookup.aspx) - il est peu probable, mais possible, si le navigateur utilise les DNS différent de votre code.
J'ai pu résoudre mon problème en faisant usage de la classe WebProxy
using (WebClient webClient = new WebClient()) { webClient.Proxy = new WebProxy("myproxy.com"); result= webClient.DownloadString(someURL);}
J'ai eu la même exception lorsque vous tentez de charger [wikipedia] (en.wikipedia.org). Lors du débogage, j'ai trouvé que le lien a été changé pour "www.en.wikipedia.org" en quelque sorte. Testé le lien(en.wikipedia.org) en mxtoolbox.com/DNSLookup.aspx et qui confirme que le bas. Quelle en est la raison?
n'hésitez pas à poser une nouvelle question au lieu de commentaire.
Comment pouvez-vous trouver ce que le navigateur utilise pour brancher dans tout cela? Merci.
OriginalL'auteur Alexei Levenkov