フラスコ アプリケーションのテスト ケースをいくつか書いています。
このアプリケーションには、次のような設計図があります。
@api_blueprint.route('/api/search/', methods=['GET'])
def search():
...
私のテストでは、次のようなリクエストを確認しようとしています:
http://127.0.0.1:5000/api/search
ステータスコード 301 を返します
このテストは、CentOS 6 サーバー (および私が試した他のすべての Linux マシン) で正常に動作しています。
実際、非常に単純な get リクエストで正しい結果が得られます。
In [1]: import requests
In [2]: r = requests.get('http://127.0.0.1:5000/api/search')
Starting new HTTP connection (1): 127.0.0.1
In [3]: r.history
Out[3]: (<Response [301]>,)
しかし、Mac OS X 10.6.8 と python 2.6 を MacPorts 経由でインストールした私の Mac Pro では失敗します。
Mac では、同じ単純なリクエストでステータス コード 200 が直接返されます。
In [1]: import requests
In [2]: r = requests.get('http://127.0.0.1:5000/api/search')
Starting new HTTP connection (1): 127.0.0.1
In [3]: r.history
Out[3]: []
In [4]: r.status_code
Out[4]: 200
明らかに、両方のマシンに同じバージョンの Flask があることを確認済みです。
なぜこの迷惑な動作の違いがあるのか 誰でも知っていますか?
ありがとう!