1

私たち (友人と私) は、nginx と geoip モジュールがインストールされた小さな専用サーバーを持っています。(適切にインストールされています) そのサーバーで、UWSGI とボトルを使用して単純な python スクリプトを実行します。スクリプトはバナーを回転させます。(自己PR用の自社バナー)

このスクリプトを使用して、所有している他のサイトに所有しているサイトのバナーを表示し、それらをローテーションして、ユーザーが常に同じバナーを表示しないようにします。

ジオターゲティングに問題があります。

次のペーストビンは、python スクリプトを示しています。

http://pastebin.com/PqQ6TQeN

PAISES = ['AR', 'MX', 'CL']Country_code を意味します。 TODOSすべての国にバナーを表示するためのタグです。

異なるリストは、異なるバナー サイズ用です。ローテーションバナーのURLはこんな感じ。

exampleip /api/300x250

これは のサイズのテンプレートを呼び出す300x250ので、ユーザーにはそのサイズのリストからランダムなバナーが表示されます。

それはうまくいきます。しかし、ジオターゲティングは機能していません。

コード (pastebin リンク) では、300x250 のバナーにアルゼンチンの「AR」コードしかないことがわかります。そのため、その国のユーザーだけがこれらの広告を見ることができます。ただし、他の IP については引き続き表示されます。

そしてこれを追加した後:

print('>>>>> ',request.headers.keys())
pais = request.get_header('GEOIP_CITY_COUNTRY_CODE')
print('=========== ' , pais, ' ==================')

(*注: パイは国を意味します)

そして、SSH 経由で UWSGI プロセスを実行すると、 が返さNoneGEOIP_CITY_COUNTRY_CODEます。つまり、Python スクリプトにパラメーターを正しく渡していないということです。

Geoip モジュールは正しくインストールされていますが、このスクリプトは正しく機能していません。

私はそれを修正する必要があります。

複雑なことではないと確信しており、コードに何か間違ったことを書いているだけです。パラメータを uwsgi や python に渡していないのかもしれません。

4

0 に答える 0