2

我有一个使用 Windows 凭据自动登录的网络应用程序。我现在想使用我的 Windows 帐户在 ac# windows 应用程序中使用来自此 Web 应用程序的信息。因此,我需要能够从该网站获取会话 cookie。在这里你可以看到我的一段代码,我想在其中检索 cookie:

       string URLAuth = extractParameterFromProperties("relatieBeheer_login_url");
        WebClient webClient = new WebClient();
        webClient.Credentials = CredentialCache.DefaultCredentials;
       // webClient.UseDefaultCredentials = true;

        byte[] responseBytes = webClient.DownloadData(URLAuth);
        //byte[] responseBytes = webClient.UploadValues(URLAuth, "POST", formData);
        string resultAuthTicket = Encoding.UTF8.GetString(responseBytes);
        if(resultAuthTicket.Contains("Verkeerde combinatie gebruikersnaam")){
            sessionCookie="NoSession";
        }else{
                WebHeaderCollection cookies = webClient.ResponseHeaders;
                sessionCookie = cookies[HttpResponseHeader.SetCookie];
        }

当我调试应用程序时,我看不到凭据中没有填写任何内容:域、用户名和密码为空。

任何帮助都将受到欢迎。

4

1 回答 1

0

DefaultCredentials 返回的 ICredentials 实例不能用于查看当前安全上下文的用户名、密码或域。

http://msdn.microsoft.com/en-us/library/system.net.credentialcache.defaultcredentials.aspx

于 2012-05-23T11:57:43.160 回答