當前位置: 首頁>>代碼示例>>Python>>正文


Python socket.AI_CANONNAME屬性代碼示例

本文整理匯總了Python中socket.AI_CANONNAME屬性的典型用法代碼示例。如果您正苦於以下問題:Python socket.AI_CANONNAME屬性的具體用法?Python socket.AI_CANONNAME怎麽用?Python socket.AI_CANONNAME使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在socket的用法示例。


在下文中一共展示了socket.AI_CANONNAME屬性的12個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: _gethostbyaddr

# 需要導入模塊: import socket [as 別名]
# 或者: from socket import AI_CANONNAME [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) 
開發者ID:elgatito,項目名稱:script.elementum.burst,代碼行數:20,代碼來源:resolver.py

示例2: validate_hostname

# 需要導入模塊: import socket [as 別名]
# 或者: from socket import AI_CANONNAME [as 別名]
def validate_hostname(hostname):
    """
    Validates using a FQDN rather than a short name as some
    APIs are very picky and SSL verification might fail.

    :param hostname: the hostname to validate
    :type hostname: str
    """
    try:
        if hostname == "localhost":
            #get real hostname
            hostname = socket.gethostname()
        if hostname.count('.') != 2:
            #get convert to FQDN if possible
            hostname = socket.getaddrinfo(
                socket.getfqdn(hostname), 0, 0, 0, 0,
                socket.AI_CANONNAME
            )[0][3]
    except socket.gaierror:
        raise InvalidHostnameFormatException(
            "Unable to find FQDN for host '{}'".format(hostname)
        )
    return hostname 
開發者ID:stdevel,項目名稱:katprep,代碼行數:25,代碼來源:__init__.py

示例3: get_fqdn

# 需要導入模塊: import socket [as 別名]
# 或者: from socket import AI_CANONNAME [as 別名]
def get_fqdn():
    """
    Return the current fqdn of the machine, trying hard to return a meaningful
    name.

    In particular, it means working against a NetworkManager bug which seems to
    make C{getfqdn} return localhost6.localdomain6 for machine without a domain
    since Maverick.
    """
    fqdn = socket.getfqdn()
    if "localhost" in fqdn:
        # Try the heavy artillery
        fqdn = socket.getaddrinfo(socket.gethostname(), None, socket.AF_INET,
                                  socket.SOCK_DGRAM, socket.IPPROTO_IP,
                                  socket.AI_CANONNAME)[0][3]
        if "localhost" in fqdn:
            # Another fallback
            fqdn = socket.gethostname()
    return fqdn 
開發者ID:CanonicalLtd,項目名稱:landscape-client,代碼行數:21,代碼來源:network.py

示例4: _gethostbyaddr

# 需要導入模塊: import socket [as 別名]
# 或者: from socket import AI_CANONNAME [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) 
開發者ID:blackye,項目名稱:luscan-devel,代碼行數:20,代碼來源:resolver.py

示例5: _Dynamic_Resolve

# 需要導入模塊: import socket [as 別名]
# 或者: from socket import AI_CANONNAME [as 別名]
def _Dynamic_Resolve(self, request, response):
    addrs = {}
    for family, _, _, canonname, sa in socket.getaddrinfo(
        request.name(), 0, 0, socket.SOCK_STREAM, 0, socket.AI_CANONNAME):
      addrs.setdefault(self._AF_MAP.get(family), set()).add(
          _remote_socket_addr.inet_pton(self._TRANSLATED_AF_MAP[family], sa[0]))
      response.set_canonical_name(canonname)





      if canonname and canonname.lower() != request.name().lower():
        if not response.aliases_size():
          response.add_aliases(request.name())
    for af in request.address_families_list():
      for packed_addr in addrs.get(af, set()):
        response.add_packed_address(packed_addr) 
開發者ID:GoogleCloudPlatform,項目名稱:python-compat-runtime,代碼行數:20,代碼來源:_remote_socket_stub.py

示例6: _gethostbyaddr

# 需要導入模塊: import socket [as 別名]
# 或者: from socket import AI_CANONNAME [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) 
開發者ID:MrH0wl,項目名稱:Cloudmare,代碼行數:20,代碼來源:resolver.py

示例7: hostname

# 需要導入模塊: import socket [as 別名]
# 或者: from socket import AI_CANONNAME [as 別名]
def hostname():
    """Hostname of the server."""
    treadmill_hostname = os.environ.get('TREADMILL_HOSTNAME')
    if treadmill_hostname:
        return treadmill_hostname.lower()

    host_name = socket.gethostname()
    port = 0
    family = 0
    socktype = 0
    proto = 0

    _family, _socktype, _proto, canonname, _sockaddr = socket.getaddrinfo(
        host_name,
        port,
        family,
        socktype,
        proto,
        socket.AI_CANONNAME)[0]

    return canonname.lower() 
開發者ID:Morgan-Stanley,項目名稱:treadmill,代碼行數:23,代碼來源:sysinfo.py

示例8: _gethostbyaddr

# 需要導入模塊: import socket [as 別名]
# 或者: from socket import AI_CANONNAME [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) 
開發者ID:entynetproject,項目名稱:arissploit,代碼行數:20,代碼來源:resolver.py

示例9: _gethostbyname_ex

# 需要導入模塊: import socket [as 別名]
# 或者: from socket import AI_CANONNAME [as 別名]
def _gethostbyname_ex(name):
    aliases = []
    addresses = []
    tuples = _getaddrinfo(name, 0, socket.AF_INET, 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) 
開發者ID:elgatito,項目名稱:script.elementum.burst,代碼行數:12,代碼來源:resolver.py

示例10: _gethostbyname_ex

# 需要導入模塊: import socket [as 別名]
# 或者: from socket import AI_CANONNAME [as 別名]
def _gethostbyname_ex(name):
    aliases = []
    addresses = []
    tuples = _getaddrinfo(name, 0, socket.AF_INET, 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) 
開發者ID:blackye,項目名稱:luscan-devel,代碼行數:12,代碼來源:resolver.py

示例11: get_ip_mac_fqdn

# 需要導入模塊: import socket [as 別名]
# 或者: from socket import AI_CANONNAME [as 別名]
def get_ip_mac_fqdn():

    interfaces = get_interface_list()

    primary_interface = sorted(interfaces, key=lambda k: k['ifaceName'])[0]
    ip_address = primary_interface['ipaddress']
    fqdn = socket.getaddrinfo(socket.gethostname(), 0, 0, 0, 0, socket.AI_CANONNAME)[0][3]
    mac_address = primary_interface['macaddress']
    return ip_address, mac_address, fqdn 
開發者ID:vulnersCom,項目名稱:vulners-agent,代碼行數:11,代碼來源:osdetect.py

示例12: __str__

# 需要導入模塊: import socket [as 別名]
# 或者: from socket import AI_CANONNAME [as 別名]
def __str__(self):
        if self.fqdn is None:
            #
            # If the SSH config contains AddressFamily, use that when
            # determining  the local host's FQDN. Using socket.getfqdn() from
            # the standard library is the most general solution, but can
            # result in noticeable delays on some platforms when IPv6 is
            # misconfigured or not available, as it calls getaddrinfo with no
            # address family specified, so both IPv4 and IPv6 are checked.
            #

            # Handle specific option
            fqdn = None
            address_family = self.config.get('addressfamily', 'any').lower()
            if address_family != 'any':
                try:
                    family = socket.AF_INET if address_family == 'inet' \
                        else socket.AF_INET6
                    results = socket.getaddrinfo(
                        self.host,
                        None,
                        family,
                        socket.SOCK_DGRAM,
                        socket.IPPROTO_IP,
                        socket.AI_CANONNAME
                    )
                    for res in results:
                        af, socktype, proto, canonname, sa = res
                        if canonname and '.' in canonname:
                            fqdn = canonname
                            break
                # giaerror -> socket.getaddrinfo() can't resolve self.host
                # (which is from socket.gethostname()). Fall back to the
                # getfqdn() call below.
                except socket.gaierror:
                    pass
            # Handle 'any' / unspecified
            if fqdn is None:
                fqdn = socket.getfqdn()
            # Cache
            self.fqdn = fqdn
        return self.fqdn 
開發者ID:iopsgroup,項目名稱:imoocc,代碼行數:44,代碼來源:config.py


注:本文中的socket.AI_CANONNAME屬性示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。