2013-08-30 116 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)来解析它。如果它不是“有效”的,你会得到一个异常。但正如其他人评论说的那样,取决于你想要什么样的“有效”,这可能会或可能不足以满足你正在做的事情。