使用Twisted Agent.request和名称解析名称时结果不一致

问题描述

在使用Python Twisted框架时:

twisted.names.client.getHostByName('some_domain')

我将域名解析为IP地址。

但是当我使用

from twisted.web.client import Agent
agent = Agent(reactor)
agent.request(b'GET','http://some_domain',None)

我收到此错误Error received [Failure instance: Traceback (failure with no frames): <class 'ValueError'>: invalid hostname: some_domain ]

some_domain仅具有A记录,如果有帮助则没有AAAA。此外,它们还在两个AWS ECS容器之间进行通信,且其中some_domain位于AWS服务发现终端节点之后。 使用Python 3.8.6 docker映像和Twisted 20.3.0

任何想法发生了什么或在哪里看?谢谢

解决方法

此不幸的异常并不意味着将名称解析为地址时出现问题。这意味着该名称本身被认为是无效的,甚至没有尝试对其进行解析。在不知道真实域名是什么的情况下很难说出它被认为无效的原因。 some_domain是完全有效的,但我认为您使用的实际域是其他内容。

这并不是说您的域 无效,但是您的域名表示可能存在问题,或者Twisted中存在错误,导致该域名无效。再说一次,不知道它是什么,很难说更多。