2013-08-30 44 views
0

我有一個winform,我正在使用連接到服務器通過使用php腳本在線舉行。我表現的這麼所以我的程序可以在WinForm本身的設置中存儲這個地址,像這樣:檢查網絡鏈接的有效性

http://server.webhost.com/file/uploadimage.html 

然後,當通過這個地址我的節目,我只需撥打以下幾點:

Settings.Default.ServerAddress; 

然後我的文件發送到服務器我有一個調用下面的方法是這樣的:

UploadToServer.HttpUploadFile(Settings.Default.ServerAddress , sfd.FileName.ToString(), "file", "image/jpeg", nvc); 

不過,我不知道該怎樣來檢查,以確保想法輸入的地址實際上是VA蓋。是否有最佳做法來實現這一目標?

+0

「有效」是什麼意思?要完全驗證的唯一方法就是嘗試上傳,除非您使用某種協議。 – SLaks

+2

您的意思是說格式正確或有效,因爲它指向正在運行的網頁? – jmstoker

+1

根據你在這裏試圖完成什麼,我的想法是「這是異常處理的目的」。考慮只需在'try'塊中執行傳輸,然後處理相應'catch'中的任何問題。 –

回答

1

確保URL正常工作的方法之一是實際請求它的內容,只需要輸入HEAD類型的請求即可使其更好。像

try 
{ 
    HttpWebRequest request = HttpWebRequest.Create("yoururl") as HttpWebRequest; 
    request.Method = "HEAD"; //Get only the header information -- no need to download any content 
    using (HttpWebResponse response = request.GetResponse() as HttpWebResponse) 
    { 
     int statusCode = (int)response.StatusCode; 
     if (statusCode >= 100 && statusCode < 400) //Good requests 
     { 
     } 
     else //if (statusCode >= 500 && statusCode <= 510) //Server Errors 
     { 
      //Hard to reach here since an exception would be thrown 
     } 
    } 
} 
catch (WebException ex) 
{ 
    //handle exception 
    //something wrong with the url 
} 
1

使用System.Uri(http://msdn.microsoft.com/en-us/library/system.uri.aspx)來解析它。如果它不是「有效」的,你會得到一個異常。但正如其他人評論說的那樣,取決於你想要什麼樣的「有效」,這可能會或可能不足以滿足你正在做的事情。