[C#] TcpClient webseite (Get-Request)

11/08/2012 19:22 Ipad5#1
Hey Leute,

ich hab normal immer mit HttpWebRequest gearbeitet, doch leider stoßt man da immer wieder mal auf seine Grenzen wenn man einen Bot schreiben möchte für Browsergames.
Jetzt wollte ich bei dem TcpClient reinschnuppern und hab folgendes geschrieben für mein Paket:
Code:
            if (client.Connected)
            {
                String message = "http://www.***********/index.html" + Environment.NewLine +
                                  "GET /index.html HTTP/1.1" + Environment.NewLine +
                                  "Host: www.***********" + Environment.NewLine+
                                  "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0" + Environment.NewLine +
                                  "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" + Environment.NewLine +
                                  "Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3" + Environment.NewLine +
                                  "Accept-Encoding: gzip, deflate" + Environment.NewLine +
                                  "Connection: keep-alive" + Environment.NewLine +
                                  "Cookie: autoitbot_boardLastActivityTime=1352397947; __utma=109237015.1485969648.1352304663.1352393794.1352397942.4; __utmz=109237015.1352393794.3.2.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided); autoitbot_boardLastVisitTime=1352314196; __utmc=109237015; autoitbot_cookieHash=2666d0ffbe40b6d8a4ef94a0f1eeb984b1cc4090; __utmb=109237015.1.10.1352397942" + Environment.NewLine +
                                  "Cache-Control: max-age=0" + Environment.NewLine;
Das ist eine Get-Anfrage an die Webseite *********** aber leider krieg ich als Antwort vom Server nur 400 Bad Request, also stimmt irgendwas mit meinem Packet nicht, aber was?
Hoffe ihr könnt mir helfen :handsdown:
11/08/2012 19:56 'Heaven.#2
Ich denke mal, das deine Cookies sind richtig sind, wenn du sie einfach so angibst und nirgendswo ausliest o.ä....
Du kannst das ganze allerdings auch mit webreq machen und nicht mit tcp;)
11/08/2012 20:17 Ipad5#3
Ich weiß das ich es mit HttpWebRequest machen könnte, das beherrsche ich ja auch schon^^
Aber ich möchte unbedingt alles mit Tcp machen um später auf ein Flashgame umzusteigen und dort muss man ja mit Tcp arbeiten.
Und jetzt brauch ich halt einfach Erfahrung verstehst du^^
Wie kann ich den bei Tcp die Cookies richtig entgegenehmen,auslesen und abspeichern sowie bei einem request wieder mitsenden?

MfG
11/09/2012 19:26 'Heaven.#4
Denke mal garnicht, außer du nimmst den gesamten Inhalt, splittest ihn, speicherst das als String und sendest den mit...
Nutz lieber httpwebreq
TCP nutze ich nur für packages, wie diese zb Server|Userid|SessionId oder so