Vb.net HTTP Client von IDB

06/15/2013 10:59 xcyancali#1
Hallo,

Ich möchte einen Bot für MyFreeFarm schreiben, bleibe aber immer beim Login kleben.

Ich benutze den HTTP Client von idb, da mir der empfohlen wurde, dass man sich da nicht um die Cookies kümmern brauch.

Immer wenn ich auf Myfreefarm connecte, lese ich den Createtoken aus, um die nächste URL zu bekommen.

Derjenige, der mir sagen / helfen kann, wie ich es schaffe den Login zu meistern, der bekommt 1 e*gold & 1 Minecraft Premium Account

Das merkwürdige ist, wenn ich dies in Autoit genauso mache , dann bin ich eingeloggt, das gleiche wie im Browser.
Aber bei Vb.net klappts nichts :/

Code:

Mfg,
xCyancali
06/15/2013 11:40 tolio#2
nutz webrequests
06/15/2013 12:01 xcyancali#3
Quote:
nutz webrequests
geht nicht
06/15/2013 12:33 'Aleo#4
Quote:
Originally Posted by xcyancali View Post
geht nicht
Es tut mir leid aber dann machst du was falsch. Schreibe dir deine eigene Webrequest Klasse, lern diese zu verstehen und schreibe deinen Bot damit. Als Tutorial empfehle ich dir [Only registered and activated users can see links. Click Here To Register...]

Beste Grüße,
'Aleo
06/15/2013 12:45 xcyancali#5
Quote:
Originally Posted by 'Aleo View Post
Es tut mir leid aber dann machst du was falsch. Schreibe dir deine eigene Webrequest Klasse, lern diese zu verstehen und schreibe deinen Bot damit. Als Tutorial empfehle ich dir [Only registered and activated users can see links. Click Here To Register...]

Beste Grüße,
'Aleo
Na klar, ich habe schon eine eigene, die Funktioniert auch überall, außer bei myfreefarm.
Da bekomme ich immer [Only registered and activated users can see links. Click Here To Register...]
Und wenn jetzt noch Kommentare mit "ja dann hast du deine get und post funktionen falsch .. das kann ja nicht sein, da es überall sonnst auch funktioniert.

get:
Code:
  Private Function _Get(ByRef URl As String) As String

        Dim request As HttpWebRequest = DirectCast(WebRequest.Create(URl), HttpWebRequest)
        request.CookieContainer = logincookie
        Dim response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse)
        Dim reader As New StreamReader(response.GetResponseStream())
        Dim theusercp As String = reader.ReadToEnd

        Return theusercp

    End Function
Post:
Code:
 Private Function _Post(ByRef url As String, ByRef postData As String, ByRef referer As String) As String

        Dim tempCookies As New CookieContainer
        Dim encoding As New UTF8Encoding
        Dim byteData As Byte() = encoding.GetBytes(postData)

        Dim postReq As HttpWebRequest = DirectCast(WebRequest.Create(url), HttpWebRequest)
        postReq.Method = "POST"
        postReq.KeepAlive = True
        postReq.CookieContainer = tempCookies
        postReq.ContentType = "application/x-www-form-urlencoded"
        postReq.Referer = referer
        postReq.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)"
        postReq.ContentLength = byteData.Length

        Dim postreqstream As Stream = postReq.GetRequestStream()
        postreqstream.Write(byteData, 0, byteData.Length)
        postreqstream.Close()
        Dim postresponse As HttpWebResponse

        postresponse = DirectCast(postReq.GetResponse(), HttpWebResponse)
        tempCookies.Add(postresponse.Cookies)
        logincookie = tempCookies
        Dim postreqreader As New StreamReader(postresponse.GetResponseStream())

        Dim thepage As String = postreqreader.ReadToEnd

        Return thepage

    End Function
06/15/2013 12:48 'Aleo#6
Überprüfe noch einmal deinen Login Link, vielleicht hast du einen Minifehler.

Beste Grüße,
'Aleo
06/15/2013 12:51 xcyancali#7
Quote:
Originally Posted by 'Aleo View Post
Überprüfe noch einmal deinen Login Link, vielleicht hast du einen Minifehler.

Beste Grüße,
'Aleo
habe ich schon^^
06/15/2013 15:54 tolio#8
du hast das http protokoll offensichtlich nicht verstanden, mal ganz abgesehen das in der fehlermeldung der servers sogar steht was falsch ist

wiki: "417 Expectation Failed
Verwendet im Zusammenhang mit einem „Expect“-Header-Feld. Das im „Expect“-Header-Feld geforderte Verhalten des Servers kann nicht erfüllt werden"

also beheben und es klappt

btw wenn es die request eigenschaften geben würde die bei jedem server klappen/gewünscht sind dann müsste es das protokoll nicht geben.

das was du da schlussfolgerst ist so wie zu sagen 'ich passe mit dem lkw unter einer brücke durch also klappts bei jeder'
06/15/2013 18:10 xcyancali#9
Quote:
Originally Posted by tolio View Post
du hast das http protokoll offensichtlich nicht verstanden, mal ganz abgesehen das in der fehlermeldung der servers sogar steht was falsch ist

wiki: "417 Expectation Failed
Verwendet im Zusammenhang mit einem „Expect“-Header-Feld. Das im „Expect“-Header-Feld geforderte Verhalten des Servers kann nicht erfüllt werden"

also beheben und es klappt

btw wenn es die request eigenschaften geben würde die bei jedem server klappen/gewünscht sind dann müsste es das protokoll nicht geben.

das was du da schlussfolgerst ist so wie zu sagen 'ich passe mit dem lkw unter einer brücke durch also klappts bei jeder'
ok, habe jetzt eine eine Lösung:
Code:
    System.Net.ServicePointManager.Expect100Continue = False
Jetzt kommt der nächste Fehler, an dem ich schon mal hing:
[Only registered and activated users can see links. Click Here To Register...]
06/15/2013 19:40 tolio#10
im ernst? was soll da denn noch stehen? wenn du schon keine ahnung hast von dem was du da tust dann gibs doch wenigsten bei google ein
06/15/2013 19:42 xcyancali#11
Quote:
Originally Posted by tolio View Post
im ernst? was soll da denn noch stehen? wenn du schon keine ahnung hast von dem was du da tust dann gibs doch wenigsten bei google ein
hab ich schon
06/15/2013 23:52 'Heaven.#12
Quote:
Originally Posted by xcyancali View Post
ok, habe jetzt eine eine Lösung:
Code:
    System.Net.ServicePointManager.Expect100Continue = False
Jetzt kommt der nächste Fehler, an dem ich schon mal hing:
[Only registered and activated users can see links. Click Here To Register...]
Deien Uri ist keine gültige uri, sprich beginnt nicht mit https:// bzw http://
06/22/2013 09:18 galaxyo#13
Soll ich dir das Teil nicht einfach bauen? :'D Bin ohnehin nur an dem Minecraft Account interessiert ;)