I’m making a request in python to a web service which returns AMF. I don’t know if it’s AMF0 or AMF3 yet.
r = requests.post(url, data=data)
>>> r.text
u'\x00\x03...'
How can I take r.text and convert it to a python object or similar? I found amfast but it’s Decoder class returns a 3.131513074181806e-294 assuming AMF0 and None for AMF3. (Both incorrect)
from amfast.decoder import Decoder
decoder = Decoder(amf3=False)
obj = decoder.decode(StringIO.StringIO(r.text))
I see two problems with your code, the first is using
r.textto return binary data. User.contentinstead. The second problem is usingdecoder.decodemethod, which decodes one object and not a packet. Usedecoder.decode_packetinstead.Using Pyamf works as well, using
r.content.