18

Django テスト クライアントで API をテストしています。API はジオ ブロッキングを使用するため、私のテストでは、適切に動作することを確認するために IP アドレスを指定する必要があります。どうやってやるの?

テストで次のようなリクエストを作成しています。

from django.test.client import Client as HttpClient
.
.
.
client = HttpClient()
response = client.get(uri + query_string)
4

4 に答える 4

29

このClient.get()メソッドには、extraヘッダーの指定に使用できるキーワード引数パラメーターがあります。

c.get(/my-url/, REMOTE_ADDR="127.0.0.1") 
于 2013-02-07T11:05:02.340 に答える
10

コンストラクターで REMOTE_ADDR を渡します。

client = HttpClient(REMOTE_ADDR='127.0.0.1')

また

client.get('/path/', {'param':'foo'}, **{'HTTP_USER_AGENT':'firefox-22', 'REMOTE_ADDR':'127.0.0.1'})
于 2013-02-07T11:02:57.663 に答える
-2

次のように簡単に:

client_address = request.META.get('HTTP_X_FORWARDED_FOR') or request.META.get('REMOTE_ADDR')
于 2013-02-07T11:08:32.280 に答える