如何以编程方式登录到网页

时间:2015-04-19 20:02:57

标签: windows-phone-8

我需要一些帮助才能在网页上发布用户名和密码,然后为登录调用click事件。 为了更好地理解我想要做的事情,一个很好的例子可能是以下一个:

以编程方式发送到银行帐户的网页用户名和密码(在相关输入中),然后登录后,检索余额。

这意味着在我的应用中,我将拥有一个包含2个文本框,1个按钮和1个文本块的XAML页面。

解析网站非常简单,以便我能够获得余额,但我无法将数据发送到服务器进行登录。 我已经阅读了WP8的几个例子,但是没有一个能让我理解如何继续使用WP8.1,显然,事情有点不同。

我已尝试使用此代码,我假设输入被称为"用户"和"密码":

    private async void LogIn_Click(object sender, RoutedEventArgs e)
    {
        string url = "http://www.something.com";
        WebRequest request = WebRequest.Create(url);
        string postData = "user=" + textBoxUser.Text + "&password=" + textBoxPassword.Text;

        byte[] send = Encoding.UTF8.GetBytes(postData);
        req.Method = "POST";
        req.ContentType = "application/x-www-form-urlencoded";

        Stream sout = await request.GetRequestStreamAsync();
        sout.Write(send, 0, send.Length);
        sout.Dispose();

        var myHttpClient = new System.Net.Http.HttpClient();
        var response = await myHttpClient.GetAsync(url);
        var dataBack = await response.Content.ReadAsStringAsync();

        //Debug:
        Debug.WriteLine(dataBack);
    }

即使我没有收到任何错误,响应中的输入也是空的,而且我不知道如何调用网页中按钮的点击事件来提交数据。< / p>

此外,我不想打开网页,因为一切都将由应用的4个控件管理。

有没有人可以给我一些建议或解答我哪里可以找到适合我需要的东西?

由于

1 个答案:

答案 0 :(得分:0)

看起来您已经走在了正确的道路上:在用户提交表单后,浏览器将其发送给我们的方式整理正确的POST请求。

然而,您可能需要设置Referer参数以及CSRF令牌等,以及正确命名参数。最好的方法是在实际的浏览器中提交表单,查看它通过内置开发人员工具发送的请求,然后在您的应用程序中对该表单进行反向工程。