Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用HttpWebRequest和身份验证下载文件_C#_Authentication_Httpwebrequest_Download - Fatal编程技术网

C# 如何使用HttpWebRequest和身份验证下载文件

C# 如何使用HttpWebRequest和身份验证下载文件,c#,authentication,httpwebrequest,download,C#,Authentication,Httpwebrequest,Download,已验证站点的下载失败。我尝试过传递网络凭据并允许AutoRedirect,但这不起作用 该应用程序对于允许使用身份验证进行下载的URL运行良好。但我的应用程序必须从需要身份验证的站点下载组件。因此,在浏览器中..下载url重定向到授权窗口,然后使用dirct file download链接重定向回原始域,然后打开浏览器下载保存文件对话框。 但在我的应用程序中,如果将凭据发送到原始下载页面,它不会抛出任何异常或说身份验证是否有效,而是会下载一些随机的小文件,比如0.05MB(我尝试下载的文件至少为

已验证站点的下载失败。我尝试过传递网络凭据并允许AutoRedirect,但这不起作用

该应用程序对于允许使用身份验证进行下载的URL运行良好。但我的应用程序必须从需要身份验证的站点下载组件。因此,在浏览器中..下载url重定向到授权窗口,然后使用dirct file download链接重定向回原始域,然后打开浏览器下载保存文件对话框。 但在我的应用程序中,如果将凭据发送到原始下载页面,它不会抛出任何异常或说身份验证是否有效,而是会下载一些随机的小文件,比如0.05MB(我尝试下载的文件至少为50MB+)

有人知道我做错了什么吗?或者,当我的代码执行时,我如何看到发生了什么

 private HttpWebRequest hRequest;

 private HttpWebResponse hResponse;

NetworkCredential myCred = new NetworkCredential("username@some.com", "123random");

        CredentialCache myCache = new CredentialCache();

        myCache.Add(new Uri("domain"), "Basic", myCred);


hRequest = (HttpWebRequest)WebRequest.Create(tbURL.Text);

            hRequest.Credentials = myCache;

            hRequest.AllowAutoRedirect = true;


            //hRequest.Credentials = CredentialCache.DefaultCredentials;

            hResponse = (HttpWebResponse)hRequest.GetResponse();

使用Fiddler或HttpAnalyzer查看使用浏览器下载文件时的实际情况。服务器可能需要某个引用者或某些特殊cookie。

使用Fiddler或HttpAnalyzer查看使用浏览器下载文件时的实际情况。服务器可能需要某个推荐人或某些特殊cookie。

需要更多信息;这可能取决于服务器配置。下载的文件里有什么?按照zowat的建议,尽可能使用Fiddler——这是一个很棒的本地http代理,可以让您查看所有来回的流量,以及日志记录等。需要更多信息;这可能取决于服务器配置。下载的文件里有什么?按照zowat的建议,一定要使用Fiddler——这是一个很好的本地http代理,可以让您查看所有来回的流量,以及日志记录等。