問題のWebサイトはフォームやCookieを使用して安全な接続を行っていないことを(Webサイト自体とWebサイトからの応答の両方を調べることで)わかったので、誰かがSSL証明書またはWebサイトヘッダー(すべてのアカウントで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 やヘッダーをキャプチャして使用する方法のコード例が最適なオプションになる可能性があります。ありがとう、これは編集でした!