C#访问HTTPS文件

时间:2012-07-25 11:02:53

标签: c# https

我已经想通了(通过检查网站本身以及使用我的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和/或标题的潜在示例代码将是最佳选择。 谢谢,这是一个编辑!

0 个答案:

没有答案