File tree Expand file tree Collapse file tree 2 files changed +15
-3
lines changed
web-framework/python/django Expand file tree Collapse file tree 2 files changed +15
-3
lines changed Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ Type: Project
3
3
Name : start-django-dipper
4
4
Provider :
5
5
- 阿里云
6
- Version : 0.0.1
6
+ Version : 0.0.2
7
7
Description : 本案例是将 Python Web 框架中,非常受欢迎的 Django 框架,快速创建并部署到阿里云函数计算 FC。
8
8
HomePage : https://github.com/devsapp/start-web-framework/tree/dipper/web-framework/python/django
9
9
Organization : 阿里云函数计算(FC)
Original file line number Diff line number Diff line change 2
2
import json
3
3
import arrow
4
4
5
+
6
+ def get_client_ip (request ):
7
+ # 检查 X-Forwarded-For 头部,它通常包含客户端 IP
8
+ x_forwarded_for = request .META .get ('HTTP_X_FORWARDED_FOR' )
9
+ if x_forwarded_for :
10
+ # X-Forwarded-For 可能包含多个 IP 地址,第一个为客户端 IP
11
+ client_ip = x_forwarded_for .split (',' )[0 ].strip ()
12
+ else :
13
+ # 如果没有 X-Forwarded-For,使用 REMOTE_ADDR
14
+ client_ip = request .META .get ('REMOTE_ADDR' )
15
+ return client_ip
16
+
5
17
# Create your views here.
6
18
def index (request ):
7
19
body_str = request .body .decode ('utf-8' )
@@ -11,7 +23,7 @@ def index(request):
11
23
"query" : dict (request .GET ),
12
24
"path" : "" ,
13
25
"data" : body_str ,
14
- "clientIp" : request . META . get ( 'REMOTE_ADDR' ),
26
+ "clientIp" : get_client_ip ( request ),
15
27
},
16
28
}
17
29
return JsonResponse (response_content )
@@ -25,7 +37,7 @@ def default(request, path):
25
37
"query" : dict (request .GET ),
26
38
"path" : path ,
27
39
"data" : body_str ,
28
- "clientIp" : request . META . get ( 'REMOTE_ADDR' ),
40
+ "clientIp" : get_client_ip ( request ),
29
41
},
30
42
}
31
43
return JsonResponse (response_content )
You can’t perform that action at this time.
0 commit comments