socket模块的getaddrinfo方法详解
Posted 23云恋49枫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了socket模块的getaddrinfo方法详解相关的知识,希望对你有一定的参考价值。
getaddrinfo方法用于通过url解析dns
import sys,socket def dns_resolver(url): result = socket.getaddrinfo(url, None) print(result[0][4][0]) if __name__ == ‘__main__‘: dns_resolver(‘www.baidu.com‘)
socket.getaddrinfo(host, port[, family[, socktype[, proto[, flags]]]])
返回值:[(family, socktype, proto, canonname, sockaddr)]有元组组成的列表,元组里面包含5个元素,其中sockaddr是(host,port)
- family: 表示socket使用的协议簇。常用的协议簇包括AF_UNIX(本机通信)/AF_INET(TCP/IP协议簇中的IPv4协议)/AF_INET6(TCP/IP协议簇中的IPv4协议)。在python的socket包中,用1表示AF_UNIX,2表示AF_INET,10表示AF_INET6。
- sockettype:表示socket的类型。常见的socket类型包括SOCK_STREAM(TCP流)/SOCK_DGRAM(UDP数据报)/SOCK_RAW(原始套接字)。其中,SOCK_STREAM=1,SOCK_DGRAM=2,SOCK_RAW=3
- proto:顾名思义,就是指定协议。套接口所用的协议。如调用者不想指定,可用0。常用的协议有,IPPROTO_TCP(=6)和IPPTOTO_UDP(=17),它们分别对应TCP传输协议、UDP传输协议。
以上是关于socket模块的getaddrinfo方法详解的主要内容,如果未能解决你的问题,请参考以下文章
python 实现dns请求,dns_request(socket getaddrinfo whiel)
Python 发送邮件 socket.gaierror: [Errno 11004] getaddrinfo failed
使用 Ngrok 时 Python TCP 套接字返回 getaddrinfo 失败
getaddrinfo()函数详解-(转自 cxz2009)
Appium 连手机失败Error: Android bootstrap socket crashed: Error: getaddrinfo ENOTFOUND localhost undefine