Maison > Article > développement back-end > Comment obtenir avec précision l'adresse IP d'un utilisateur dans Django avec des proxys inverses ?
Problème :
Vous rencontrez une KeyError lorsque vous essayez de récupérer l'adresse IP de l'utilisateur en utilisant request.META['REMOTE_ADDR'].
Analyse :
L'adresse distante renvoyée par request.META['REMOTE_ADDR'] peut ne pas être l'adresse IP réelle de l'utilisateur si un proxy inverse est impliqué.
Solution :
Pour obtenir l'adresse IP de l'utilisateur avec précision, suivez ces étapes :
<code class="python">def get_client_ip(request): x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR') if x_forwarded_for: ip = x_forwarded_for.split(',')[0] else: ip = request.META.get('REMOTE_ADDR') return ip</code>
<code class="python">client_ip = get_client_ip(request)</code>
Considérations :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!