|
Introduction
This page describes how to setup the GeoIP example application.
This example uses the open source GeoIP APIs for looking up the location of an IP address. The API includes support for lookup of country, region, city, latitude, and longitude.
A live demo can be found on the PyAMF blog.
Grab the example from SVN with:
svn export http://svn.pyamf.org/trunk/doc/tutorials/examples/actionscript/geoip geoip-example
cd geoip-example/python
Alternatively, if you just want to have a look, you can browse the example online.
Note: Make sure you have the Maxmind GeoIP API for Python installed.
The remoting gateway for the Adobe Flash Player and Python AMF clients starts on http://localhost:8000 when you launch the development server from the python folder:
python server.py
You should see something like this:
Running GeoIP AMF gateway on http://localhost:8000
You can simply open the SWF file and it will connect to http://localhost:8000.
The Python AMF client can be started by running the following from the python folder:
python client.py
You should see something like this for the client:
2009-12-26 21:35:44,659 DEBUG [root] Connecting to http://localhost:8000
2009-12-26 21:35:44,659 DEBUG [root] Referer: None
2009-12-26 21:35:44,659 DEBUG [root] User-Agent: PyAMF/0.5.1
2009-12-26 21:35:44,659 DEBUG [root] Adding request geoip.getGeoInfo()
2009-12-26 21:35:44,659 DEBUG [root] Executing single request: /1
2009-12-26 21:35:44,659 DEBUG [root] AMF version: 0
2009-12-26 21:35:44,663 DEBUG [root] Sending POST request to
2009-12-26 21:35:44,665 DEBUG [root] Waiting for response...
2009-12-26 21:35:44,672 DEBUG [root] Got response status: 200
2009-12-26 21:35:44,672 DEBUG [root] Content-Type: application/x-amf
2009-12-26 21:35:44,672 DEBUG [root] Content-Length: 110
2009-12-26 21:35:44,672 DEBUG [root] Server: PyAMF/0.5.1 CPython/2.6.4
2009-12-26 21:35:44,673 DEBUG [root] Read 110 bytes for the response
2009-12-26 21:35:44,673 DEBUG [root] Response: <Envelope amfVersion=0>
(u'/1', <Response status=/onResult>
<GeoInfo country={'code': None, 'name': None} ip=127.0.0.1>
</Response>)
</Envelope>
2009-12-26 21:35:44,673 DEBUG [root] Removing request: /1
<GeoInfo country={'code': None, 'name': None} ip=127.0.0.1>