首頁 >後端開發 >Python教學 >如何在 Django 中取得使用者的 IP 位址?

如何在 Django 中取得使用者的 IP 位址?

Patricia Arquette
Patricia Arquette原創
2024-11-05 07:45:02750瀏覽

How to Get a User's IP Address in Django?

在Django 中取得使用者IP 位址

為了在Django 中擷取使用者的IP 位址,請透過建立可重複使用的實用函數來自定義它:

<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>

請注意,此函數首先檢查X-Forwarded-For 標頭,反向代理使用該標頭來指示客戶端的原始IP 位址。如果此標頭存在,它將使用逗號分隔清單中的第一個 IP 位址。否則,它會回退到 REMOTE_ADDR。

定義此函數後,您可以取得使用者的 IP 位址,如下所示:

<code class="python">ip = get_client_ip(request)</code>

以上是如何在 Django 中取得使用者的 IP 位址?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn