Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 为什么在使用AWS完全限定域名时getaddrinfo因socket.gaierror而失败?_Python 3.x - Fatal编程技术网

Python 3.x 为什么在使用AWS完全限定域名时getaddrinfo因socket.gaierror而失败?

Python 3.x 为什么在使用AWS完全限定域名时getaddrinfo因socket.gaierror而失败?,python-3.x,Python 3.x,我选择了一个使用Python3的项目 在我创建了一台AWS机器来进行更多的单元测试之前,一切都很正常。 代码中有一部分根据主机名和IP地址执行某些逻辑 在AWS计算机上,它抛出以下错误:[Errno 11001]getaddrinfo失败 这在其他机器上也可以,但在这个AWS VM中,它会出错,无法实现代码中的2.2部分: (h\u名称、别名、ip地址)=socket.gethostbyname\u ex(fqdn\u名称) 通常AWSfqdn看起来像这样ec2amaz-1mcm2p3.us-e

我选择了一个使用Python3的项目

在我创建了一台AWS机器来进行更多的单元测试之前,一切都很正常。 代码中有一部分根据主机名和IP地址执行某些逻辑

在AWS计算机上,它抛出以下错误:
[Errno 11001]getaddrinfo失败

这在其他机器上也可以,但在这个AWS VM中,它会出错,无法实现代码中的2.2部分:
(h\u名称、别名、ip地址)=socket.gethostbyname\u ex(fqdn\u名称)

通常AWS
fqdn
看起来像这样
ec2amaz-1mcm2p3.us-east-2.compute.internal

result = []
# 1.1 push hostname into the result list
h_name = socket.gethostname()
result.append(str(h_name).lower())

# 1.2 push IPs into the result list
(h_name, aliases, ip_addresses) = socket.gethostbyname_ex(h_name)
if ip_addresses:
    for ip in ip_addresses:
        if not ip in result:
            result.append(str(ip).lower())

# 2.1 push fqdn (fully qualified domain name) into the result list     
fqdn = socket.getfqdn()
if not fqdn in result:
    result.append(str(fqdn).lower())

# 2.2 push fqdn IPs into the result list
# ***************** ERROR IN BELOW LINE ******************
(h_name, aliases, ip_addresses) = socket.gethostbyname_ex(fqdn)
if ip_addresses:
    for ip in ip_addresses:
        if not ip in result:
            result.append(str(ip))