码迷,mamicode.com
首页 > 其他好文 > 详细

socket模块的getaddrinfo方法详解

时间:2017-01-07 18:16:57      阅读:296      评论:0      收藏:0      [点我收藏+]

标签:option   接口   blog   mil   lag   desc   prot   元素   port   

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方法详解

标签:option   接口   blog   mil   lag   desc   prot   元素   port   

原文地址:http://www.cnblogs.com/luxiaojun/p/6259638.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!