本文整理匯總了Python中socket.NI_NAMEREQD屬性的典型用法代碼示例。如果您正苦於以下問題:Python socket.NI_NAMEREQD屬性的具體用法?Python socket.NI_NAMEREQD怎麽用?Python socket.NI_NAMEREQD使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在類socket
的用法示例。
在下文中一共展示了socket.NI_NAMEREQD屬性的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: _gethostbyaddr
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import NI_NAMEREQD [as 別名]
def _gethostbyaddr(ip):
try:
dns.ipv6.inet_aton(ip)
sockaddr = (ip, 80, 0, 0)
family = socket.AF_INET6
except Exception:
sockaddr = (ip, 80)
family = socket.AF_INET
(name, port) = _getnameinfo(sockaddr, socket.NI_NAMEREQD)
aliases = []
addresses = []
tuples = _getaddrinfo(name, 0, family, socket.SOCK_STREAM, socket.SOL_TCP,
socket.AI_CANONNAME)
canonical = tuples[0][3]
for item in tuples:
addresses.append(item[4][0])
# XXX we just ignore aliases
return (canonical, aliases, addresses)
示例2: _gethostbyaddr
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import NI_NAMEREQD [as 別名]
def _gethostbyaddr(ip):
try:
addr = dns.ipv6.inet_aton(ip)
sockaddr = (ip, 80, 0, 0)
family = socket.AF_INET6
except:
sockaddr = (ip, 80)
family = socket.AF_INET
(name, port) = _getnameinfo(sockaddr, socket.NI_NAMEREQD)
aliases = []
addresses = []
tuples = _getaddrinfo(name, 0, family, socket.SOCK_STREAM, socket.SOL_TCP,
socket.AI_CANONNAME)
canonical = tuples[0][3]
for item in tuples:
addresses.append(item[4][0])
# XXX we just ignore aliases
return (canonical, aliases, addresses)
示例3: _gethostbyaddr
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import NI_NAMEREQD [as 別名]
def _gethostbyaddr(ip):
try:
thirdparty.dns.ipv6.inet_aton(ip)
sockaddr = (ip, 80, 0, 0)
family = socket.AF_INET6
except:
sockaddr = (ip, 80)
family = socket.AF_INET
(name, port) = _getnameinfo(sockaddr, socket.NI_NAMEREQD)
aliases = []
addresses = []
tuples = _getaddrinfo(name, 0, family, socket.SOCK_STREAM, socket.SOL_TCP,
socket.AI_CANONNAME)
canonical = tuples[0][3]
for item in tuples:
addresses.append(item[4][0])
# XXX we just ignore aliases
return (canonical, aliases, addresses)
示例4: _gethostbyaddr
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import NI_NAMEREQD [as 別名]
def _gethostbyaddr(ip):
try:
dns.ipv6.inet_aton(ip)
sockaddr = (ip, 80, 0, 0)
family = socket.AF_INET6
except:
sockaddr = (ip, 80)
family = socket.AF_INET
(name, port) = _getnameinfo(sockaddr, socket.NI_NAMEREQD)
aliases = []
addresses = []
tuples = _getaddrinfo(name, 0, family, socket.SOCK_STREAM, socket.SOL_TCP,
socket.AI_CANONNAME)
canonical = tuples[0][3]
for item in tuples:
addresses.append(item[4][0])
# XXX we just ignore aliases
return (canonical, aliases, addresses)
示例5: _getnameinfo
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import NI_NAMEREQD [as 別名]
def _getnameinfo(sockaddr, flags=0):
host = sockaddr[0]
port = sockaddr[1]
if len(sockaddr) == 4:
scope = sockaddr[3]
family = socket.AF_INET6
else:
scope = None
family = socket.AF_INET
tuples = _getaddrinfo(host, port, family, socket.SOCK_STREAM,
socket.SOL_TCP, 0)
if len(tuples) > 1:
raise socket.error('sockaddr resolved to multiple addresses')
addr = tuples[0][4][0]
if flags & socket.NI_DGRAM:
pname = 'udp'
else:
pname = 'tcp'
qname = dns.reversename.from_address(addr)
if flags & socket.NI_NUMERICHOST == 0:
try:
answer = _resolver.query(qname, 'PTR')
hostname = answer.rrset[0].target.to_text(True)
except (dns.resolver.NXDOMAIN, dns.resolver.NoAnswer):
if flags & socket.NI_NAMEREQD:
raise socket.gaierror(socket.EAI_NONAME)
hostname = addr
if scope is not None:
hostname += '%' + str(scope)
else:
hostname = addr
if scope is not None:
hostname += '%' + str(scope)
if flags & socket.NI_NUMERICSERV:
service = str(port)
else:
service = socket.getservbyport(port, pname)
return (hostname, service)
示例6: testHost
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import NI_NAMEREQD [as 別名]
def testHost(self):
for address, flags, expected in [
( ("www.python.org", 80), 0, "dinsdale.python.org"),
( ("www.python.org", 80), socket.NI_NUMERICHOST, "82.94.164.162" ),
( ("www.python.org", 80), socket.NI_NAMEREQD, "dinsdale.python.org"),
( ("82.94.164.162", 80), socket.NI_NAMEREQD, "dinsdale.python.org"),
]:
result = socket.getnameinfo(address, flags)
self.failUnlessEqual(result[0], expected)
示例7: testNI_NAMEREQD
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import NI_NAMEREQD [as 別名]
def testNI_NAMEREQD(self):
# This test may delay for some seconds
unreversible_address = "198.51.100.1"
try:
socket.getnameinfo( (unreversible_address, 80), socket.NI_NAMEREQD)
except socket.gaierror, ge:
self.failUnlessEqual(ge[0], socket.EAI_NONAME)
示例8: _getnameinfo
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import NI_NAMEREQD [as 別名]
def _getnameinfo(sockaddr, flags=0):
host = sockaddr[0]
port = sockaddr[1]
if len(sockaddr) == 4:
scope = sockaddr[3]
family = socket.AF_INET6
else:
scope = None
family = socket.AF_INET
tuples = _getaddrinfo(host, port, family, socket.SOCK_STREAM,
socket.SOL_TCP, 0)
if len(tuples) > 1:
raise socket.error('sockaddr resolved to multiple addresses')
addr = tuples[0][4][0]
if flags & socket.NI_DGRAM:
pname = 'udp'
else:
pname = 'tcp'
qname = thirdparty.dns.reversename.from_address(addr)
if flags & socket.NI_NUMERICHOST == 0:
try:
answer = _resolver.query(qname, 'PTR')
hostname = answer.rrset[0].target.to_text(True)
except (thirdparty.dns.resolver.NXDOMAIN, thirdparty.dns.resolver.NoAnswer):
if flags & socket.NI_NAMEREQD:
raise socket.gaierror(socket.EAI_NONAME)
hostname = addr
if scope is not None:
hostname += '%' + str(scope)
else:
hostname = addr
if scope is not None:
hostname += '%' + str(scope)
if flags & socket.NI_NUMERICSERV:
service = str(port)
else:
service = socket.getservbyport(port, pname)
return (hostname, service)
示例9: testPort
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import NI_NAMEREQD [as 別名]
def testPort(self):
for address, flags, expected in [
( ("127.0.0.1", 25), 0, "smtp" ),
( ("127.0.0.1", 25), socket.NI_NUMERICSERV, 25 ),
# This portion of the test does not suceed on OS X;
# the above entries probably suffice
# ( ("127.0.0.1", 513), socket.NI_DGRAM, "who" ),
# ( ("127.0.0.1", 513), 0, "login"),
]:
result = socket.getnameinfo(address, flags)
self.failUnlessEqual(result[1], expected)
# This test currently fails due to the recent changes (as of March 2014) at python.org:
# TBD perhaps there are well-known addresses that guarantee stable resolution
# def testHost(self):
# for address, flags, expected in [
# ( ("www.python.org", 80), 0, "dinsdale.python.org"),
# ( ("www.python.org", 80), socket.NI_NUMERICHOST, "82.94.164.162" ),
# ( ("www.python.org", 80), socket.NI_NAMEREQD, "dinsdale.python.org"),
# ( ("82.94.164.162", 80), socket.NI_NAMEREQD, "dinsdale.python.org"),
# ]:
# result = socket.getnameinfo(address, flags)
# self.failUnlessEqual(result[0], expected)