设备无法解析主机

时间:2020-01-27 11:01:37

标签: dns esp8266 arduino-esp8266

我在ESP8266中有一个简单的DNS解析演示。找不到为什么它可以解析AWS上的Ubuntu虚拟机。据我了解,DNS服务器是我的家庭路由器192.168.1.1。 ESP8266发生故障时,分辨率可从台式机正常运行。为什么以及如何解决?

void printDNSServers() {
  Serial.print("DNS #1, #2 IP: ");
  WiFi.dnsIP().printTo(Serial);
  Serial.print(", ");
  WiFi.dnsIP(1).printTo(Serial);
  Serial.println();
}

void printIPAddressOfHost(const char* host) {
  IPAddress resolvedIP;
  if (!WiFi.hostByName(host, resolvedIP)) {
    DEBUG_LOG("DNS lookup failed.  ");
    DEBUG_LOGLN(host);
  }
  DEBUG_LOGLN(host);
  DEBUG_LOGLN(" IP: ");
  Serial.println(resolvedIP);
}



void loop()
{
  printDNSServers();
  printIPAddressOfHost("yahoo.com");
  printIPAddressOfHost("ec2-34-254-225-201.eu-west-1.compute.amazonaws.com port");
}

输出为:

DNS #1, #2 IP: 192.168.1.1, (IP unset)
yahoo.com
 IP: 
98.138.219.232
DNS lookup failed.  ec2-34-254-225-201.eu-west-1.compute.amazonaws.com port
ec2-34-254-225-201.eu-west-1.compute.amazonaws.com port
 IP: 

1 个答案:

答案 0 :(得分:0)

您正在尝试解析以下主机名:

ec2-34-254-225-201.eu-west-1.compute.amazonaws.com port

由于当前字符串不是有效的主机名,因此您需要将port放在末尾。

ec2-34-254-225-201.eu-west-1.compute.amazonaws.com