我有一个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);
但是我不知道如何检查以确保输入的地址实际上是有效的。是否有实现这一目标的最佳做法?
答案 0 :(得分:1)
使用System.Uri(http://msdn.microsoft.com/en-us/library/system.uri.aspx)来解析它。如果它不是“有效”,你会得到一个例外。但是,正如其他人评论状态,取决于你想要什么样的“有效”,这可能或者可能不足以满足你正在做的事情。
答案 1 :(得分: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
}