Skip to Content
Menu
This question has been flagged
1 Atsakyti
1113 Rodiniai

I am using the following code to get user ip information to record activity history, but the received ip is the ip of the active server, my Odoo server is deployed on ubuntu server 22.04


This is my code:

def _get_info_active(self):
"""
:return: ip_address, location, device_name
"""
try:
client_ip = request.httprequest.environ['REMOTE_ADDR']
location_info = {}
try:
response = requests.get(f'https://ipinfo.io/{client_ip}/json')
location_info = response.json()
except requests.RequestException:
location_info = {"error": "Could not retrieve location info"}

user_agent = request.httprequest.user_agent.string
return client_ip, f"{location_info.get('city')}, {location_info.get('region')}, {location_info.get('country')}", user_agent

except Exception as e:
raise UserError(str(e))
Portretas
Atmesti
Related Posts Replies Rodiniai Veikla
0
kov. 15
4552
7
vas. 24
12277
0
lapkr. 17
4068
1
geg. 25
1124
0
lapkr. 24
1296