Thread Data::AMF - Aufbau der Anfrage (2 answers)
Opened by MarkusH at 2013-01-04 18:37

MarkusH
 2013-01-04 18:37
#164642 #164642
User since
2012-04-08
161 Artikel
BenutzerIn
[default_avatar]
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
image/jpeg
483 x 697
AMF_Request.jpg
$q =~ /(bb|[^b]{2})/

View full thread Data::AMF - Aufbau der Anfrage