Witam, postanowiłem napisać program - który jak w tytule ma wykonywać te funkcje plus jakieś tam dodatkowe. Jednak utknąłem niemalże na samym początku "pracy". Znalazłem w internecie kod który loguje się na forum - a mianowicie pobiera ciasteczko niezbędne do tego, jednak nie za bardzo wiem co z tym dalej zrobić, gdyż jak pobieram stronę przez webclient - to wyświetla błąd naruszenia pamięci, bądź nie loguje mnie. Czy vbulletin posiada jakiś webservice który umożliwiłby w przyjemny sposób korzystanie z jego funkcji? Oto tyle co mi się udało napisać (właściwie skopiować):
private void testLogowania()
{
WebClient client = new WebClient();
string cookie = login("http://www.peb.pl/login.php?do=login", "uzytkownik", "haslo"); // include http and www (I don't have 10 forum posts)
client.Headers.Add("Cookie", cookie);
string testPobierania = client.DownloadString("http://www.peb.pl");
if(client.IsBusy!=true)
webBrowser1.DocumentText = testPobierania;
}
static string login(string url, string username, string password)
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
string cookie = "";
string values = "vb_login_username=" + username +
"&vb_login_password=" + password +
"&securitytoken=guest" +
"&cookieuser=checked" +
"&do=login";
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = values.Length;
CookieContainer a = new CookieContainer();
req.CookieContainer = a;
System.Net.ServicePointManager.Expect100Continue = false; // prevents 417 error
using (StreamWriter writer = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII)) { writer.Write(values); }
HttpWebResponse c = (HttpWebResponse)req.GetResponse();
foreach (Cookie cook in c.Cookies) { cookie = cookie + cook.ToString() + ";"; }
return cookie;
}
Pozdrawiam.