当我使用网络客户端时,我得到网络异常超时.在网络客户端之后下载文件.响应标头

本文关键字:网络 客户端 下载 之后 文件 响应 超时 异常 | 更新日期: 2023-09-27 18:31:36

我正在尝试创建自己的下载管理器。当链接被添加到下载管理器时,我使用网络客户端从服务器获取它的信息。这样

WebClient webClient = new WebClient();
webClient.OpenRead(link);
string filename = webClient.ResponseHeaders["Content-Disposition"];

之后,我使用下载文件下载文件

FileInfo fileInfo = new FileInfo(path);
if (!fileInfo.Exists)
{
    webClient.DownloadFile(link, path);
}

当我这样做时。我收到 WebException 超时。但是,当我删除webClient.ResponseHeaders部分时。它永远不会出现超时异常。我真的需要阅读内容处置,因为某些链接上没有文件名。我什至尝试使用不同的网络客户端来下载和获取它的信息,但我得到了相同的结果。

当我使用网络客户端时,我得到网络异常超时.在网络客户端之后下载文件.响应标头

我能够通过找到另一种获取文件信息的方法来解决问题。

string Name = "";
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(Link);
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
for(int i=0; i < myHttpWebResponse.Headers.Count; i++)
{
    if (myHttpWebResponse.Headers.Keys[i] == "Content-Disposition")
    {
        Name = myHttpWebResponse.Headers[i];
    }
}
myHttpWebResponse.Close();