6
6
# Servers to get your public IP
7
7
8
8
9
+ def _get_my_ip_server_0 ():
10
+ """return global ip V4 and contry code \n
11
+ server 1"""
12
+ takeip = requests .post ("http://yourip.top/json" , timeout = 3 ).text
13
+ json_res = json .loads (takeip )
14
+ ip = str (json_res ["ip" ])
15
+ country = str (json_res ["country" ])
16
+ ipaddr = f"{ ip } \n country_code: { country } "
17
+ return ipaddr
18
+
19
+
9
20
def _get_my_ip_server_1 ():
10
21
"""return global ip V4 and loaction \n
11
22
server 1"""
12
23
takeip = requests .post ("https://api.myip.com" , timeout = 2 ).text
13
- ip = str (json .loads (takeip )["ip" ])
14
- country = str (json .loads (takeip )["country" ])
24
+ json_res = json .loads (takeip )
25
+ ip = str (json_res ["ip" ])
26
+ country = str (json_res ["country" ])
15
27
ipaddr = f"{ ip } \n country: { country } "
16
28
return ipaddr
17
29
@@ -29,19 +41,28 @@ def _get_my_ip_server_3():
29
41
30
42
31
43
def get_global_ip () -> str :
32
- """return system ip (3 API server)"""
33
- for server in [_get_my_ip_server_1 , _get_my_ip_server_2 , _get_my_ip_server_3 ]:
44
+ """return system ip (4 API server)"""
45
+ for server in [
46
+ _get_my_ip_server_0 ,
47
+ _get_my_ip_server_1 ,
48
+ _get_my_ip_server_2 ,
49
+ _get_my_ip_server_3 ,
50
+ ]:
34
51
try :
35
52
return server ()
36
53
except :
37
- return None
54
+ pass
55
+
56
+ return None
57
+
38
58
39
59
def get_host_name_ip () -> dict :
40
60
try :
41
61
host_name = socket .gethostname ()
42
62
s = socket .socket (socket .AF_INET , socket .SOCK_DGRAM )
43
63
s .connect (("4.2.2.4" , 80 ))
44
64
host_ip = s .getsockname ()[0 ]
65
+ s .close ()
45
66
return {"host_ip" : host_ip , "host_name" : host_name }
46
- except :
67
+ except Exception :
47
68
return {"host_ip" : None , "host_name" : None }
0 commit comments