python 地址_python 解析地址 | 学步园
socekt.getaddrinfo的返回值介紹
family: 表示socket使用的協(xié)議簇。常用的協(xié)議簇包括AF_UNIX(本機通信)/AF_INET(TCP/IP協(xié)議簇中的IPv4協(xié)議)/AF_INET6(TCP/IP協(xié)議簇中的IPv4協(xié)議)。在python的socket包中,用1表示AF_UNIX,2表示AF_INET,10表示AF_INET6。
sockettype:表示socket的類型。常見的socket類型包括SOCK_STREAM(TCP流)/SOCK_DGRAM(UDP數(shù)據(jù)報)/SOCK_RAW(原始套接字)。其中,SOCK_STREAM=1,SOCK_DGRAM=2,SOCK_RAW=3
proto:顧名思義,就是指定協(xié)議。套接口所用的協(xié)議。如調(diào)用者不想指定,可用0。常用的協(xié)議有,IPPROTO_TCP(=6)和IPPTOTO_UDP(=17),它們分別對應(yīng)TCP傳輸協(xié)議、UDP傳輸協(xié)議。
import socket,sys
host,port= sys.argv[1:]
results = socket.getaddrinfo(host,port,0,socket.SOCK_STREAM)
for result in results:
print ("-" * 60)
#Print whether we got back an IPv4 or IPv6
if result[0] == socket.AF_INET:
print ("Family:AF_INET")
elif result[0] ==socket.AF_INET6:
print ("Family:AF_INET6")
else:
print ("Family:",result[0])
if result[1] == socket.SOCK_STREAM:
print ("Socket Type:SOCK_STREAM")
elif result[1] == socket.SOCK_DGRAM:
print ("Socket Type: SOCK_DGRAM")
print ("Protocol:",result[2])
print ("Canonical Name:",result[3])
print ("Socket Address:",result[4])
參數(shù)輸入:baidu.com http
結(jié)果輸出:
------------------------------------------------------------
Family:AF_INET
------------------------------------------------------------
Family:AF_INET
------------------------------------------------------------
Family:AF_INET
Socket Type:SOCK_STREAM
Protocol: 0
Canonical Name:
Socket Address: ('220.181.111.86', 80)
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的python 地址_python 解析地址 | 学步园的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 金穗海航联名卡年费多少?刷几次免年费
- 下一篇: python人工智能面试题_AI笔试面试