0

我有一个我用来通过使用在线保存的 php 脚本连接到服务器的 winform。我已经做到了,所以我的程序可以将此地址存储在 winform 本身的设置中,如下所示:

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

然后何时将此地址传递给我的程序,我只需调用以下内容:

Settings.Default.ServerAddress;

然后将我的文件发送到服务器,我有以下调用方法,如下所示:

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

但是我不知道如何检查以确保输入的地址确实有效。是否有最佳实践来实现这一目标?

4

2 回答 2

1

使用 System.Uri ( http://msdn.microsoft.com/en-us/library/system.uri.aspx ) 来解析它。如果它不是“有效的”,你会得到一个例外。但是正如其他评论者所说,这取决于你想要什么样的“有效”,这对于你正在做的事情可能不够好,也可能不够好。

于 2013-08-30T21:01:52.690 回答
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
}
于 2013-08-30T21:03:45.950 回答