def _pack_addr_bytes_from(self, addr_type, addr):
addr_bytes = None
if addr_type in [constants.SOCKS5_ADDRTYPE_IPV4, constants.SOCKS5_ADDRTYPE_IPV6]:
addr_bytes = socket.inet_pton({constants.SOCKS5_ADDRTYPE_IPV4: socket.AF_INET,
constants.SOCKS5_ADDRTYPE_IPV6: socket.AF_INET6}[addr_type],
addr)
elif addr_type == constants.SOCKS5_ADDRTYPE_HOST:
if len(addr) > 255:
addr = addr[:255]
addr_bytes = chr(len(addr)) + addr
addr_bytes = addr_bytes.encode('utf-8')
addr_bytes = chr(addr_type).encode('utf-8') + addr_bytes
return addr_bytes
评论列表
文章目录