Để lấy địa chỉ IPv4 cục bộ của thiết bị bằng Python, bạn có thể sử dụng mô-đun socket
. Dưới đây là một ví dụ về cách bạn có thể sử dụng hàm gethostbyname
từ mô-đun socket
để lấy địa chỉ IPv4 cục bộ.
import socket
def get_local_ipv4[]:
try:
s = socket.socket[socket.AF_INET, socket.SOCK_DGRAM]
s.connect[["8.8.8.8", 80]]
local_ipv4 = s.getsockname[][0]
s.close[]
return local_ipv4
except:
return None
local_ipv4 = get_local_ipv4[]
print[local_ipv4]
Mã này sẽ tạo một ổ cắm UDP và sử dụng nó để kết nối với một máy chủ nổi tiếng [trong trường hợp này là máy chủ DNS của Google tại 8. 8. 8. số 8]. Hàm getsockname
sau đó sẽ trả về địa chỉ IP cục bộ và số cổng mà ổ cắm đang sử dụng. Địa chỉ IP là phần tử đầu tiên của bộ dữ liệu, vì vậy nó được truy cập bằng cách sử dụng [0]
Bạn cũng có thể sử dụng chức năng gethostbyname
để lấy địa chỉ IPv4 cục bộ như thế này.
import socket
def get_local_ipv4[]:
try:
local_ipv4 = socket.gethostbyname[socket.gethostname[]]
return local_ipv4
except:
return None
local_ipv4 = get_local_ipv4[]
print[local_ipv4]
Hàm gethostname
trả về tên máy chủ của thiết bị hiện tại và hàm gethostbyname
trả về địa chỉ IP tương ứng
Tôi hi vọng cái này giúp được. Hãy cho tôi biết nếu bạn có bất kỳ câu hỏi
hostname = socket.gethostname[] local_ip = socket.gethostbyname[hostname]
Làm cách nào để tìm địa chỉ IPv4 cục bộ của tôi?
Làm cách nào để tìm địa chỉ IP cục bộ của tôi trong Python?
Làm cách nào để in địa chỉ IPv4 bằng Python?
Làm cách nào để lấy IP máy chủ bằng Python?
Ở đây, trước tiên chúng tôi phải nhập ổ cắm, sau đó chúng tôi lấy tên máy chủ bằng cách sử dụng hàm gethostname[] và sau đó chúng tôi tìm nạp địa chỉ IP bằng tên máy chủ mà chúng tôi đã tìm nạp và chúng tôi chỉ cần in nó