经过身份验证的网站下载失败。我尝试过传递网络凭据并允许自动重定向,但这不起作用。
该应用程序适用于允许通过身份验证下载的URL。但我的应用程序必须从需要身份验证的站点下载组件。因此,在浏览器中,下载URL重定向到授权窗口,然后使用dirct文件下载链接重定向回原始域,然后打开浏览器download-savefile-dialog。 但在我的应用程序中,如果将凭据发送到原始下载页面,它不会抛出任何异常或说认证工作与否,而是下载一些随机的小文件说约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();
答案 0 :(得分:1)
使用Fiddler或HttpAnalyzer查看使用浏览器下载文件时实际发生的情况。服务器可能需要某个引用者或某些特殊cookie。