I've found how to order IE to open a webpage and send some POST data.
Add a COM Reference named Microsoft Internet Explorer Controls to the project.
Then create the
post stringwith the field and its value separated by&, and then convert thatstringinto abyte array.And in the end just had to request IE to Navigate to the
url, and also send the Post Data converted into abyte array, and then add the same Header that its added when we submit a form.
Here goes:
using SHDocVw; // Don't forget
InternetExplorer IEControl = new InternetExplorer();
IWebBrowserApp IE = (IWebBrowserApp)IEControl;
IE.Visible = true;
// Convert the string into a byte array
ASCIIEncoding Encode = new ASCIIEncoding();
byte[] post = Encode.GetBytes("username=fabio&password=123");
// The destination url
string url = "http://example.com/check.php";
// The same Header that its sent when you submit a form.
string PostHeaders = "Content-Type: application/x-www-form-urlencoded";
IE.Navigate(url, null, null, post, PostHeaders);
NOTE:
To try if this works. Don't forget that your server side page would have to write/echo the Post fields named: username and password.
PHP Code Example:
<?php
echo $_POST['username'];
echo " ";
echo $_POST['password'];
?>
ASP Code Example:
<%
response.write(Request.Form("username"))
response.write(" " & Request.Form("password"))
%>
And the page would display something like this:
fabio 123
Fábio Antunes
2010-07-28 17:54:02