Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.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#WP8应用程序中登录网站_C#_Windows Phone 8 - Fatal编程技术网

在c#WP8应用程序中登录网站

在c#WP8应用程序中登录网站,c#,windows-phone-8,C#,Windows Phone 8,我正在尝试为这个网页开发一个应用程序,这样用户就可以登录并查看他们的详细信息(日程安排等) 然而,我对从网络上获取数据还很陌生,而且这个页面似乎很难从中获取任何数据(不要评判我:D) 该页面使用gzip 该页面有一些隐藏字段,带有生成的id,需要使用用户名和密码提交给我 页面抱怨缺少每会话cookie 下面是我的代码现在的样子: 第一个Mywebclient类: public class MyWebClient : SharpGIS.GZipWebClient { Uri _respo

我正在尝试为这个网页开发一个应用程序,这样用户就可以登录并查看他们的详细信息(日程安排等)

然而,我对从网络上获取数据还很陌生,而且这个页面似乎很难从中获取任何数据(不要评判我:D)

该页面使用gzip 该页面有一些隐藏字段,带有生成的id,需要使用用户名和密码提交给我 页面抱怨缺少每会话cookie

下面是我的代码现在的样子:

第一个Mywebclient类:

public class MyWebClient : SharpGIS.GZipWebClient
{
    Uri _responseUri;
    public CookieContainer CookieContainer { get; private set; }

    public MyWebClient()
    {
        this.CookieContainer = new CookieContainer();
    }

    public MyWebClient(CookieContainer cookieContainer)
    {
        this.CookieContainer = cookieContainer;
    }
    public Uri ResponseUri
    {
        get { return _responseUri; }
    }

    protected override WebResponse GetWebResponse(WebRequest request, IAsyncResult result)
    {
        WebResponse response = base.GetWebResponse(request, result);
        _responseUri = response.ResponseUri;
        return response;
    }
    protected override WebRequest GetWebRequest(Uri address)
    {
        var request = base.GetWebRequest(address) as HttpWebRequest;
        if (request == null) return base.GetWebRequest(address);
        request.CookieContainer = CookieContainer;
        return request;
    }
}`
其次是调用加载的代码

string postdata = "m$Content$password2=" + HttpUtility.UrlEncode("PASSWORD") + "m$Content$username2=" + HttpUtility.UrlEncode("USERNAME");
navigatePostRequestBrowser(new Uri("https://www.lectio.dk/lectio/317/login.aspx"), postdata);
protected void navigatePostRequestBrowser(Uri url, string postdata)
{
    MyWebClient webClient = new MyWebClient();
    webClient.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
    webClient.Encoding = Encoding.UTF8;
    webClient.UploadStringCompleted += new UploadStringCompletedEventHandler(proxy_UploadStringCompleted);
    webClient.UploadStringAsync(url , "POST", postdata);
}
最后是装载

string postdata = "m$Content$password2=" + HttpUtility.UrlEncode("PASSWORD") + "m$Content$username2=" + HttpUtility.UrlEncode("USERNAME");
navigatePostRequestBrowser(new Uri("https://www.lectio.dk/lectio/317/login.aspx"), postdata);
protected void navigatePostRequestBrowser(Uri url, string postdata)
{
    MyWebClient webClient = new MyWebClient();
    webClient.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
    webClient.Encoding = Encoding.UTF8;
    webClient.UploadStringCompleted += new UploadStringCompletedEventHandler(proxy_UploadStringCompleted);
    webClient.UploadStringAsync(url , "POST", postdata);
}
我的UploadStringCompleted如下所示:

private void proxy_UploadStringCompleted(object sender, UploadStringCompletedEventArgs e)
{
    var response = e.Result;
}
我不知道我是否几乎正确,因为我已经尝试了在互联网上随处可见的几种解决方案


请帮帮我,我卡住了

我的解决方案是使用静态隐藏webbrowser而不是webclient