Thread Data::AMF - Aufbau der Anfrage
(2 answers)
Opened by MarkusH at 2013-01-04 18:37
Hallo,
ich versuche seit längerem, von einem Browsergame Daten rauszuziehen, um mir davon eine Infoliste zu generieren. Das Einloggen in das Spiel funktioniert, beim Abschicken der AMF-Daten erhalte ich aber immer einen 500er Fehler. Ich habe schon viel gegoogelt und den Aufbau der Anfrage immer wieder abgeändert, aber es kommt immer wieder ein 500er Fehler. Hat jemand Erfahrung mit Flash Remoting und sieht vielleicht den Fehler? Im Anhang habe ich noch einen Screenshot von Fiddler, wo der Datenaufbau der Anfrage ersichtlich sein sollte. Der Inhalt stimmt jedoch nicht zu 100% überein. Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 my $amf3 = Data::AMF->new( version => 3 ); my $obj->{header} = []; $obj->{Message} = [{'Target' => 'null'}, {'Response' => 66}, {'Reserved' => 309}, {'Data' => bless( { '_explicitType' => 'flex.messaging.messages.RemotingMessage', 'source' => 'Ka_Services_Guild', 'operation' => 'getGuildMembers', 'timestamp' => 0, 'body' => ['msg_4281095328', 8, 0], 'timeToLive' => 0, 'headers' => [ {'DSId' => 'nil'}, {'DSEndpoint' => 'my-amf'} ], 'clientid' => '1B9CF58-57B0-E5E9-3A87-000007C73130', 'destination' => 'zend', 'messageId' => 'C1807DA8-DE5C-0E3F-11CB-F5626A52883E', }, 'flex.messaging.messages.RemotingMessage' ) }]; my $data = $amf3->serialize($obj); print "\n$data\n"; my $url = $settings->{FLASHVARS_AMF_ENDPOINT}; my $request = HTTP::Request->new(POST => $url); $request->content_type('application/x-amf'); $request->push_header('Cookie' => $settings->{COOKIE}); $request->push_header('Connection' => 'keep-alive'); $request->push_header('Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'); $request->push_header('Accept-Language' => 'de-de,de;q=0.8,en-us;q=0.5,en;q=0.3'); $request->push_header('Accept-Encoding' => 'gzip, deflate'); $request->push_header('Referer' => 'http://mfz.wavecdn.de/zoo_v2_0016.swf'); $request->push_header('Host' => 'www.myfreezoo.de'); $request->content($data); my $response = $ua->request($request); my $content = $response->content; Bei Bedarf kann ich auch den kompletten Code - mit Login - einstellen. Anhänge $q =~ /(bb|[^b]{2})/
|