python
attribute_error
ai_generated
true
AttributeError: 'Request' object has no attribute 'client_ip'
ID: python/starlette-request-client
80%Fix Rate
85%Confidence
0Evidence
2024-08-28First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| 3.x | active | — | — | — |
Root Cause
在 Starlette 中错误地访问 request.client_ip,实际属性是 request.client.host。
generic中文
在 Starlette 中错误地访问 request.client_ip,实际属性是 request.client.host。
Workarounds
-
95% success
client_ip = request.client.host if request.client else None
-
80% success
client_ip = request.headers.get('x-forwarded-for', request.client.host if request.client else '')
Dead Ends
Common approaches that don't work:
-
90% fail
该属性也不存在。
-
40% fail
某些情况下 client 可能为 None。