2010-11-25 17 views
2

プログラミング入門コースの大学プロジェクトでは、IPアドレスをトレースしてGUI(PyQt)上に配置する小さなソフトウェアを作ることにしました。私が知っている大きな問題ではありませんが、私はまだアイデアが好きです。PythonでIPアドレスをトレースする

MaxMindのGeoIPデータベース用のAPIであるpygeoipと、MaxMindのIPとその無料サービスを知りました。かなりクールな、ええ!

しかし、欠点は、自分のデータベースを照会することです、私は国の都市のための個々のデータベースをダウンロードする必要があります。これは、IPアドレスを調べるために、エンドユーザーに追加のファイル(MB単位)をダウンロードさせなければならない理由がないためです。

だから私はこれを行う別の方法がありますか? IPアドレスをどのようにトレースするのですか?可能であれば、私はそれらを市レベルまで下げる必要があることに注意してください。この男のようなものaruljohn.com/track.pl

ありがとう!

答えて

2

ローカルで完全なソリューションを開発できるので、私は「pygeoip」を優先していました。もちろん、データベースを保持する必要があります。

データベースをローカルに保持しない場合は、外部サービスに依存してIPの場所を問い合わせる必要があります。これにより、ソリューションは小さく保たれますが、このサービスに依存します。このため

チェックアウト: ipinfodb.com
  • http://ipinfodb.com/ip_location_api.php
    • 彼らが構築するために十分に簡単なはずJSONとXML APIのインタフェースを提供します。私はより良いアイデアを持っている http://ipinfo.info/html/geolocation_2.php

    +0

    ローカルソリューションの問題は、私の友人の中に自分のアプリを配布したいと思っていて、実際にIPアドレスを調べるためにデータベースをダウンロードしたくないということです。あなたが私のことを理解してくれることを願っています私はリンクをチェックして、多分JSONをこのプロセスで学ぶつもりです;)ありがとう! – user225312

    +0

    @ブライアン:うん、私はJSON APIを好むだろうが、あなたは少なくとも水をテストするためにXML APIを使うことができます。これがあなたのために働くかどうかを見てください。 – pyfunc

    +0

    しかし、QtやPythonと一緒にアプリケーションをダウンロードしたいのですが... :) – cababunga

    1

    はでより多くの情報を確認します。なぜあなたは実際のルックアップを行う非常に単純なWebアプリケーションを作っていないのですか?あなたはPyQtクライアントからHTTPリクエストを受け取ります。または、そのような場合には、クライアントが必要ない場合もあります。ちょうどIPアドレスを取得し、都市を表示するWebページを作成します。

    +0

    私はWebブラウザを使用したくありません。 – user225312

    +0

    次に、クライアントとサーバーの両方を作成します。 BTWでは、ApacheとLighttpdの両方にジオロケーションモジュールがあります。その場所をクライアントに返すだけで済みます。 – cababunga

    関連する問題