Public Function CookieContainerToString(ByVal cc As System.Net.CookieContainer) As String
Dim sb As New System.Text.StringBuilder()
sb.AppendLine("=============== List CookieContainer ===============")
If cc Is Nothing Then
sb.AppendLine("Container is Nothing")
Else
' get internal URL HashTable
Dim urlHashTable As Hashtable = DirectCast(cc.[GetType]().InvokeMember("m_domainTable", System.Reflection.BindingFlags.NonPublic Or System.Reflection.BindingFlags.GetField Or System.Reflection.BindingFlags.Instance, Nothing, cc, New Object() {}), Hashtable)
' show count
sb.AppendLine("Total Entries: " & urlHashTable.Count.ToString)
sb.AppendLine(" --------------- ")
' list URL entries
For Each tableEntry As DictionaryEntry In urlHashTable
sb.AppendLine(String.Format("URL: {0}", tableEntry.Key.ToString))
' get internal pathList for url
Dim pathList As SortedList = DirectCast(tableEntry.Value.[GetType]().InvokeMember("m_list", System.Reflection.BindingFlags.NonPublic Or System.Reflection.BindingFlags.GetField Or System.Reflection.BindingFlags.Instance, Nothing, tableEntry.Value, New Object() {}), SortedList)
' list pathlist
For Each listEntry As DictionaryEntry In pathList
' list Cookies
For Each Cookie In listEntry.Value
sb.AppendLine(String.Format("PATH: ""{0}"" Cookie: ""{1}""", listEntry.Key, Cookie))
Next Cookie
sb.AppendLine("")
Next listEntry
sb.AppendLine(" --------------- ")
Next tableEntry
' end of list
End If
sb.AppendLine("=============== End of List =================")
Return sb.ToString
End Function
Die Funktion rufe ich direkt nach dem Aufrufen der Seite auf.
Allerdings werden mir nur folgende Cookies angezeigt:
afaik gibts beim cookiecontainer eine .count o.ä. methode, lass dir das doch einfach mit ausgeben, dann siehste wieviele cookies drin sind.
desweiteren solltest du lieber den webrequest via wireshark o.ä. sniffen und dort die cookies gegenprüfen und nicht was der browser macht, es könnte ja auch sein das im browser die cookies schon älter sind oder via js/etc gesetzt wurden
afaik gibts beim cookiecontainer eine .count o.ä. methode, lass dir das doch einfach mit ausgeben, dann siehste wieviele cookies drin sind.
desweiteren solltest du lieber den webrequest via wireshark o.ä. sniffen und dort die cookies gegenprüfen und nicht was der browser macht, es könnte ja auch sein das im browser die cookies schon älter sind oder via js/etc gesetzt wurden
Nein, du verstehst etwas falsch.
Die Response, die ich in Charles getrackt habe, war die Response vom Bot.
Das Cookie unten wird aber nicht im Bot angezeigt, wenn ich mir die ausgeben lasse. Liegt das vlt. daran, dass das Cookie keiner Domain zugeordnet wurde?
Dim cookies As CookieContainer = New CookieContainer
Dim target As Uri = New Uri("http://www.google.de")
Dim req As HttpWebRequest = WebRequest.Create(target)
req.CookieContainer = cookies
Dim resp As HttpWebResponse = req.GetResponse()
Dim col As CookieCollection = cookies.GetCookies(target)
MsgBox(cookies.Count & vbCrLf & col.Count) 'Gleiche anzahl'
For Each cookie As System.Net.Cookie In col
MsgBox(cookie.Name & vbCrLf & cookie.Value)
Next
das hab ich grad noch gefunden vllt kann man damit irgendwie alle cookies rausbekommen, kA
sonst vllt schauen ob man die cookiecontainer klasse entsprechend erweitern oder überschreiben kann das sie macht was man will
1. Autoredirects ausmachen, die können dafür Sorgen das Cookies nicht sauber genommen werden. Weiß gerade garnicht ob Bug oder Designentscheidung um ehrlich zu sein.
2. Im Zweifelsfall iterier die Header durch und machs per Hand, dann erwischt auf jedenfall alles was mit HTTP gesetzt wird.
1. Autoredirects ausmachen, die können dafür Sorgen das Cookies nicht sauber genommen werden. Weiß gerade garnicht ob Bug oder Designentscheidung um ehrlich zu sein.
2. Im Zweifelsfall iterier die Header durch und machs per Hand, dann erwischt auf jedenfall alles was mit HTTP gesetzt wird.
Wie meinst du "die header iterieren"?
Quote:
Originally Posted by tolio
das hab ich grad noch gefunden vllt kann man damit irgendwie alle cookies rausbekommen, kA
sonst vllt schauen ob man die cookiecontainer klasse entsprechend erweitern oder überschreiben kann das sie macht was man will
Danach müsstest in X ne HeaderCollection haben , habs leider nicht 100% im Kopf und kann gerad hier nich nachsehn.
Ein Cookie Setzen ist im Prinzip nen stink normaler Header der Set-Cookie heißt.
Die Antwort durchgehen, nach Set-Cookie schauen und du bekommst jedes Cookie das der Server setzen lassen will um es z.b. wie hier ggf. per Hand in dein Cookiecontainer einzutragen.
@maxsoft, möglich aber weis nicht wie er da reagiert wenn irgendwer so ganz nich standartmässig einfach Set-Cookie mehrmals sendet.
Ist zwar afaik nicht normgerecht, glaub aber es gelegentlich schon gesehn zu haben.
[R] Alle Questfunktionen eines Cores auslesen 03/01/2013 - Metin2 PServer Guides & Strategies - 25 Replies So, da manche sich die Mühe machen, extra mit IDA über den Core zu gehen, um nach versteckten Questfunktionen zu suchen (haha :D) , hier mal eine Alternative:
Fügt das hier in eure questlib.lua ein. Entscheidend ist, wo ihr sie positioniert:
- eine Positionierumg am Kopf der Datei bewirkt, dass ihr alle Funktionen, die von der Game kommen, auflistet
- eine Positionierung am Fuß der Datei bewirkt, dass ihr alle Funktionen der Game, die in der questlib definierten Funktionen und eventuelle...
[C#] HttpWebResponse Problem 08/05/2011 - .NET Languages - 6 Replies Hallo liebe Epvpers!
Ich versuche mich nun schon seit geraumer Zeit mit meinem Programm auf Minecraft einzuloggen.
Hier mein Code:
ASCIIEncoding encode4 = new ASCIIEncoding();
string postdata4 = "username=USER&password=PASS&use_secu re=false";
byte data4 = encode4.GetBytes(postdata4);
HttpWebRequest request4 = (HttpWebRequest)HttpWebRequest.Create("https: //www.minecraft.net/login.jsp");
request4.Method = "POST";