2010-08-11 50 views
1
public static string GetAccessErrorString(string uri) 
    { 
     HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri); 

     try 
     { 
      HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
     } 
     catch (Exception e) 
     { 
      return e.Message; 
     } 

     return null; 
    } 

我只是想檢查上面的代碼中的網站的可訪問性。當GetResponse方法被調用時,我得到下面的錯誤。可以在IE中瀏覽網址,但無法ping通

在System.Net.HttpWebRequest.GetResponse() 在WebStuff.WebsiteReachable.GetAccessErrorString(字符串URI,WebProxy代理) 在WebsiteReachable.cs:管線22

錯誤:遠程名稱不能解決:'www.microsoft.com'

我在主機文件中添加了這個,並嘗試,但它沒有工作。

其實我能夠瀏覽IE中的網站。當我給ping www.microsoft.com我得到以下消息

* Ping請求找不到主機microsoft.com。請檢查名稱,然後再次嘗試 。 *

你能幫我解決這個問題嗎?..如果你能指出不同的可能性會很好。

+0

您是否嘗試過使用完整的URI「http://www.microsoft.com」?我相信MS已經阻止了ping到他們的服務器,所以不管用。 – Lazarus 2010-08-11 15:32:58

+0

你說得對。當我嘗試ping microsoft.com時,我沒有得到響應,但當我在本地計算機上運行代碼時得到了響應。我在VM中面對這個問題。 – Ramesh 2010-08-12 06:46:17

回答

4

您可能在需要身份驗證的proxy server後面運行此代碼,並且Internet Explorer配置爲使用此代理,而您的代碼不是。

1

只需添加到Darin's answer即可。如果代理服務器是問題,您可以使用Proxy property來設置代理服務器。

默認情況下,您的代碼應使用Internet Explorer的代理設置。

相關問題