Python hỗ trợ chuyển đổi tên máy hoặc tên miền thành địa chỉ IP mà không cần sử dụng chương trình bên ngoài. Tính năng này được cung cấp bởi hàm gethostbyname từ mô-đun ổ cắm
gethostbyname xuất ra một địa chỉ IP duy nhất cho một miền nhất định. Nếu máy chủ hoặc tên miền có nhiều địa chỉ IP, bạn có thể sử dụng gethostbyname_ex[]. gethostbyname_ex[] trả về danh sách IP dưới dạng một mảng
Bạn có thể sử dụng gethostbyname và gethostbyname_ex[] để phân giải tên máy chủ thành địa chỉ IP trong Python bằng cách sử dụng trình bao tương tác hoặc trong tập lệnh
Các bước để lấy địa chỉ IP từ tên máy chủ hoặc tên miền trong Python
Khởi chạy vỏ Python yêu thích của bạn.
$ ipython3 Python 3.8.2 [default, Apr 27 2020, 15:53:34] Type 'copyright', 'credits' or 'license' for more information IPython 7.13.0 -- An enhanced Interactive Python. Type '?' for help.
Nhập mô-đun ổ cắm.
In [1]: import socket
Nhận IP từ tên máy chủ bằng cách gọi ổ cắm. chức năng gethostbyname với tên máy chủ làm tham số.
In [2]: socket.gethostbyname['www.google.com'] Out[2]: '216.58.196.4'
Tên máy chủ trong ngữ cảnh này đề cập đến Tên miền đủ điều kiện hoặc FQDN
Thay vào đó, hãy sử dụng gethostbyname_ex[] nếu miền có nhiều địa chỉ IP
Tạo tập lệnh Python chấp nhận tên máy chủ làm tham số và xuất địa chỉ IP, chẳng hạn như sau. tên máy chủ-to-ip. py
#!/usr/bin/env python3 import socket import sys hostname = sys.argv[1] ip = socket.gethostbyname[hostname] print['Hostname: ', hostname, '\n' 'IP: ', ip]
Một trong những cách để xác định địa chỉ IP công cộng là dịch nó sang máy chủ lưu trữ hoặc tên miền được liên kết. Điều này có thể được thực hiện bằng cách thực hiện tra cứu IP ngược với máy chủ DNS
urlparse url = urlparse['//www.pythonpool.com/for-vs-while-loop-python/' ] host = '{uri.scheme}://{uri.netloc}/'.format[uri=url] print[host]
đầu ra
//www.pythonpool.com/
Giải trình
Trước tiên, chúng tôi bắt đầu bằng cách nhập urlparse từ trình phân tích cú pháp urllib. Điều này có thể được sử dụng để phân tích các URL thành các chuỗi dễ hiểu. Ngay sau khi chúng tôi khởi tạo urlparse[] bằng một URL, nó sẽ chia URL thành lược đồ, netloc, tham số, truy vấn và đoạn. Sau đó, chúng ta có thể sử dụng lược đồ và netlock để lấy giao thức và tên máy chủ từ URL
Nhận tên máy chủ từ IP trong Python
Đôi khi, bạn có địa chỉ IP trong kết quả mã của mình. Sau đó, bằng cách sử dụng chúng, bạn có thể dễ dàng suy ra tên máy chủ của các máy chủ. Nhưng quan trọng là IP của bạn phải hoạt động và có thể truy cập được bằng mạng của bạn. Trong ví dụ sau, tôi đã sử dụng 8. 8. 8. 8 dưới dạng IP, là DNS của Google
Mã số
0DESKTOP-PYTHONPOOL
đầu ra
1DESKTOP-PYTHONPOOL
Giải trình
Chúng tôi bắt đầu bằng cách nhập mô-đun ổ cắm và sau đó gọi hàm gethostbyaddr. Sau đó, bạn có thể chuyển IP dưới dạng chuỗi cho nó. Nó trả về [tên máy chủ, danh sách bí danh, Danh sách địa chỉ IP] dưới dạng Tuple. Sau đó, bạn có thể truy cập tên máy chủ bằng cách sử dụng lập chỉ mục Tuple
Làm cách nào để lấy tên miền từ IP trong Python?
Tên miền cho địa chỉ IP đã cho có thể được tìm nạp bằng cách sử dụng hàm gethostbyaddr[] của mô-đun ổ cắm trong python.Làm cách nào để có được tên miền trong Python?
Cách lấy thông tin tên miền bằng Python .cài đặt pip3 python-whoisnhập whois # pip cài đặt python-whois def is_registered[tên_miền]. """ Hàm trả về giá trị boolean cho biết `tên_miền` đã được đăng ký chưa """ thử. w = aiLàm cách nào để lấy tên miền từ tên máy chủ Python?
Ví dụ. .ổ cắm nhập khẩu# Nhận tên miền đủ điều kiệnfqdn = ổ cắm. getfqdn[]print["Tên miền đầy đủ của máy tính này là. "];in[fqdn];# Lấy FQN chẳng hạn. nettên máy chủ = "www. thí dụ. net";fqdn = ổ cắm. getfqdn[tên máy chủ];Làm cách nào để đọc tên máy chủ trong Python?
Python cung cấp gethostname[],gethostbyname[] hai hàm . gethostname[] truy xuất tên máy chủ tiêu chuẩn cho máy cục bộ. gethostbyname[] truy xuất thông tin máy chủ tương ứng với tên máy chủ từ cơ sở dữ liệu máy chủ.