python獲取到連接的本地IP地址,方法如下
import requests
rsp = requests.get("http://www.baidu.com", stream=True)
print (rsp.raw._connection.sock.getpeername()[0])
print (rsp.raw._connection.sock.getsockname()[0])
例:
import socket
# 查看當前主機名
print('當前主機名稱為 : ' + socket.gethostname())
# 根據主機名稱獲取當前IP
print('當前主機的IP為: ' + socket.gethostbyname(socket.gethostname()))
# 下方代碼為獲取當前主機IPV4 和IPV6的所有IP地址(所有系統均通用)
addrs = socket.getaddrinfo(socket.gethostname(),None)
for item in addrs:
print(item)
# 僅獲取當前IPV4地址
print('當前主機IPV4地址為:' + [item[4][0] for item in addrs if ':' not in item[4][0]][0])
# 同上僅獲取當前IPV4地址
for item in addrs:
if ':' not in item[4][0]:
print('當前主機IPV4地址為:' + item[4][0])
break