I want to get data from a database and use it to login a user to a web site.

I have a wpf page that holds a web browser control. and I have this code that login user to web site which is written in php:

<form action='http://www.asite.net/index.php' method='post' name='frm'>
<?php
$user = $_GET['u'];
$pass = $_GET['p'];
echo "<input type='text' name='user' value='$user'>";
echo "<input type='text' name='pass' value='$pass'>";
?>
<input type='submit' name='submit' value='submit'>
</form>

How can I do this in wpf? As far as I can understand, I need to create an html and post it to site.

My questions:

1- How can I create such html in code?

2- How can I automatically submit it to the site (assuming I am doing this on constructor of a wpf user control).

有帮助吗?

解决方案

As far as I understand, your goal is to log in and keep the session active inside the WebBrowser. If so, you have a few options:

Updated, here is an example of creating and submitting a :

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        this.Loaded += MainWindow_Loaded;
    }

    void MainWindow_Loaded(object sender, RoutedEventArgs e)
    {
        NavigatedEventHandler handler = null;
        handler = delegate
        {
            this.webBrowser.Navigated -= handler;

            dynamic document = this.webBrowser.Document;
            var form = document.createElement("form");
            form.action = "http://requestb.in/tox7drto";
            form.method = "post";

            var input = document.createElement("input");
            input.type = "text";
            input.name = "name_1";
            input.value = "value_1";
            form.appendChild(input);

            input = document.createElement("input");
            input.type = "submit";
            form.appendChild(input);

            document.body.appendChild(form);
            input.click();
        };

        this.webBrowser.Navigated += handler;
        this.webBrowser.Navigate("about:blank");
    }
}

其他提示

Use the System.Net namespace, particularly the WebRequest and WebResponse objects.

See this previous answer, it should get you started:

How to programmatically fill a form and post a web page

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top