Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么我能';t使用HttpWebRequest.Credentials访问用户登录后的网页源_C#_.net_Windows Phone 8_Httpwebrequest - Fatal编程技术网

C# 为什么我能';t使用HttpWebRequest.Credentials访问用户登录后的网页源

C# 为什么我能';t使用HttpWebRequest.Credentials访问用户登录后的网页源,c#,.net,windows-phone-8,httpwebrequest,C#,.net,Windows Phone 8,Httpwebrequest,我正在尝试制作windows phone silverlight应用程序来读取网页源代码。确实如此,但只适用于不需要身份验证的页面。我是编程新手,我在MVA上查看了WP8 JumpStart,他们的示例运行良好,直到我尝试访问具有SSL的特定页面。在过去的两天里,我尝试了很多东西,但都没有效果。这是我最近一次应该完成这项工作的职能: private async void ReadPage() { CookieContainer container = new Cookie

我正在尝试制作windows phone silverlight应用程序来读取网页源代码。确实如此,但只适用于不需要身份验证的页面。我是编程新手,我在MVA上查看了WP8 JumpStart,他们的示例运行良好,直到我尝试访问具有SSL的特定页面。在过去的两天里,我尝试了很多东西,但都没有效果。这是我最近一次应该完成这项工作的职能:

private async void ReadPage()
    {
        CookieContainer container = new CookieContainer();
        var request = HttpWebRequest.Create("url") as HttpWebRequest;
        byte[] bytes = System.Text.UTF8Encoding.UTF8.GetBytes("usrname" + ":" + "pass");
        string authInfo = Convert.ToBase64String(bytes);
        request.Headers[System.Net.HttpRequestHeader.Authorization] = "Basic " + authInfo;
        request.CookieContainer = container;
        request.Accept = "application/json;odata=verbose";

        var factory = new TaskFactory();
        var task = factory.FromAsync<WebResponse>(request.BeginGetResponse, request.EndGetResponse, null);

        try
        {
            var response = await task;

            Stream responseStream = response.GetResponseStream();
            string data;
            using (var reader = new StreamReader(responseStream))
            {
                data = reader.ReadToEnd();
            }

            txtContent.Text = data;
        }
        catch (Exception e)
        {
            var we = e.InnerException as WebException;
            if (we != null)
            {
                var resp = we.Response as HttpWebResponse;
                var code = resp.StatusCode;
                MessageBox.Show("RespCallback Exception raised! Message: " + we.Message +
                                    " HTTP Status: " + we.Status);
            }
            else
                throw e;
        }
    }
private async void ReadPage()
{
CookieContainer容器=新CookieContainer();
var request=HttpWebRequest.Create(“url”)作为HttpWebRequest;
byte[]bytes=System.Text.UTF8Encoding.UTF8.GetBytes(“usrname”+”:“+”pass”);
string authInfo=Convert.ToBase64String(字节);
request.Headers[System.Net.HttpRequestHeader.Authorization]=“Basic”+authInfo;
request.CookieContainer=容器;
request.Accept=“application/json;odata=verbose”;
var factory=new TaskFactory();
var task=factory.fromsync(request.BeginGetResponse,request.EndGetResponse,null);
尝试
{
var响应=等待任务;
Stream responseStream=response.GetResponseStream();
字符串数据;
使用(变量读取器=新的流读取器(responseStream))
{
data=reader.ReadToEnd();
}
txtContent.Text=数据;
}
捕获(例外e)
{
var we=e.InnerException作为WebException;
如果(we!=null)
{
var resp=作为HttpWebResponse的we.Response;
var代码=相应的状态代码;
MessageBox.Show(“RespCallback异常引发!消息:+we.Message+
“HTTP状态:”+we.Status);
}
其他的
投掷e;
}
}
每次我调用它时,它都会将我带到应该已经通过身份验证的登录站点。至少我这么认为。。。我看了一些解决方案,但对我没有任何帮助(或者我忽略了一些东西)。有人有主意吗?
提前感谢

有很多类型的身份验证,因此可能是您没有使用正确的身份验证类型。这个网站是公共的吗?如果是这样的话,把它贴在这里。我在gmail上试过了。这两个都不行。Mudri是里耶卡大学Moodle的电子学习中心,如果我是正确的,它使用的是授权模型。这对我来说很重要,第二个工作…然后你设置的用户名和密码不正确(你设置的基本身份)。找出您需要的确切身份验证类型,然后您可以应用该类型的身份验证。除非你知道。没有人能够帮助你。我发现该网站正在使用HTTPS/SAML协议。我在网上寻找解决方案,但我不太了解它们,我不确定它们是否能在WP应用程序中工作@杰夫,你有什么建议吗?至少有一些好的源代码可以让我了解这个主题…我没有玩过SAML,但这有一些客户端代码,您可能会发现它们很有用: