How to login to HTML form using POST vars in C# (.NET)?
Solution 1
string username = "your";
string password = "password";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://moje.azet.sk/prihlasenie.phtml?KDE=www.azet.sk%2Findex.phtml%3F");
using (StreamWriter writer = new StreamWriter(request.GetRequestStream(), Encoding.ASCII))
{
writer.Write("nick=" + username + "&password=" + password);
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
//Retrieve your cookie that id's your session
//response.Cookies
using (StreamReader reader = new StreamReader(response.GetResponseStream())
{
Console.WriteLine(reader.ReadToEnd());
}
Solution 2
The login part should be relatively easy.
Use System.Net.WebClient
and the UploadValues()
method to POST the form data. Look at the HTML source to figure out the field values to POST.
Most forms-based auth mechanisms use an HTTP cookie to keep the user logged in. So, after you POST the values, examine the WebClient
's ResponseHeaders
collection for the 'Set-Cookie:' header.
Store the cookie value for subsequent GETs/POSTs to the website.
You'll probably find that "retrieving the data from your account and working with it" is much more complicated (i.e. screen-scraping, etc).
Here's a link that has some examples:
http://codebetter.com/blogs/brendan.tompkins/archive/2005/05/18/63329.aspx
user2120901
Updated on June 04, 2022Comments
-
user2120901 almost 2 years
For example, there is this website: www.azet.sk
On the right, there is login and password, I'd like my application to login to this web application and retrieve the data from my own account to C# (.NET) application and work with it. The aim is to keep the "logged in" connection alive and send vars using POST method. Is there any tutorial or easy script with examples to learn this?