使用socketgetnameinfo()函数在Python中获取网络地址和端口号
发布时间:2023-12-24 18:21:39
在Python中,可以使用socket.getnameinfo()函数来获取网络地址和端口号。该函数接受一个参数,即一个包含网络地址和端口号的元组,然后返回一个包含网络地址和端口号的元组。
下面是一个使用socket.getnameinfo()函数获取网络地址和端口号的例子:
import socket
# 创建一个socket对象
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 建立连接
sock.connect(('www.example.com', 80))
# 获取远程主机的网络地址和端口号
remote_addr = sock.getpeername()
print('Remote address:', remote_addr)
# 获取本地主机的网络地址和端口号
local_addr = sock.getsockname()
print('Local address:', local_addr)
# 关闭连接
sock.close()
输出结果为:
Remote address: ('93.184.216.34', 80)
Local address: ('192.168.0.100', 60444)
在上述例子中,首先创建了一个socket对象并与远程主机建立连接。然后使用getpeername()函数获取远程主机的网络地址和端口号,并使用getsockname()函数获取本地主机的网络地址和端口号。最后关闭连接。
需要注意的是,getnameinfo()函数返回的结果是一个包含网络地址和端口号的元组,其中网络地址可能是一个域名或IP地址,端口号是一个整数。
