我已经弄清楚(通过在使用我的 C# 应用程序时检查网站本身和网站的响应)有问题的网站不使用表单或 cookie 来进行安全连接,所以我想知道是否有人知道一种可能使用 SSL 证书或网站标头(我认为所有帐户中确实有 cookie)的方法,以允许登录然后下载某个文件。
我能否获得代码示例或使用标题登录网站的方法的链接是我所要求的,我拥有所有必要的凭据,只是没有使用它们的广泛知识。
谢谢一堆。
public void downloadStuff()
{
string formUrl = "https://secure.website.co.nz/extension/Login.aspx";
string formParams = string.Format("ctl00_main_Login1_UserName={0}&ctl00_main_Login1_Password={1}", "*********", "************");
string cookieHeader;
WebRequest req = WebRequest.Create(formUrl);
req.ContentType = "application/x-www-form-urlencoded";
req.Method = "POST";
byte[] bytes = Encoding.ASCII.GetBytes(formParams);
req.ContentLength = bytes.Length;
using (Stream os = req.GetRequestStream())
{
os.Write(bytes, 0, bytes.Length);
}
WebResponse resp = req.GetResponse();
cookieHeader = resp.Headers["Set-cookie"];
string pageSource;
string getUrl = "https://secure.website.co.nz/extension/Downloader.axd?x=stock-all";
WebRequest getRequest = WebRequest.Create(getUrl);
getRequest.Headers.Add("Cookie", cookieHeader);
WebResponse getResponse = getRequest.GetResponse();
using (StreamReader sr = new StreamReader(getResponse.GetResponseStream()))
{
WebClient exeed = new WebClient();
exeed.DownloadFileAsync(new Uri(@"https://secure.website.co.nz/extension/Downloader.axd?x=stock-all"), "test.txt");
pageSource = sr.ReadToEnd();
}
}
注意:也提出了这个问题,因为如果我所做的是正确的,我将不知道如何使用 cookie 来下载文件。如何捕获和使用 cookie 和/或标头的潜在示例代码将是最佳选择。谢谢,这是一个编辑!