【发布时间】:2021-10-13 05:36:30
【问题描述】:
我正在调试我正在设置的 WiFi 接入点上的一些 DNS 问题。我正在将 ESP32 连接到我的网络,以便它可以输出它在做什么。我想获取我的公共 IP 地址作为测试,我想使用 http://ifconfig.me/ip 去获取它。这在 DNS 工作时非常棒,但根据标准 HTTPS 内容,我可以在对 IP 地址的调用中使用 Host: name 标头来测试连接性,以确定它是否只是我看到的 DNS 故障。如果我在 Postman 中设置以下,一切都超级棒……
当我在 ESP32 上执行以下操作(应该模仿上述操作)时,我得到一个 404 - 当Host 标头未发送或不正确时发生。
...
String new_url = "http://34.117.59.81/ip";
String host = "ifconfig.me";
HTTPClient http;
http.begin(new_url.c_str());
http.addHeader("Host", host.c_str());
int httpResponseCode = http.GET();
...
我做错了什么?我已经尝试在begin() 的任一侧调用addHeader()
我尝试了collectHeaders() 调用,但这只保留了响应标头,所以我看不到我实际发送的内容。
从积极的方面来说,我收到 404 确实意味着连接良好,问题是我的 DNS 符合预期,但为什么我(据称)不能发送 Host 标头?
【问题讨论】: