gpt4 book ai didi

无法连接到 C : Hostname not found (11001) on Windows, 中的主机 DNS 问题?

转载 作者:太空宇宙 更新时间:2023-11-04 04:57:14 25 4
gpt4 key购买 nike

我正在尝试使用连接到 C 中的远程服务器的 API,但我一直收到以下错误消息:

log_message: 15:13:19.489 I [ap:1388] Connecting to AP A3.spotify.com:4070

log_message: 15:13:19.490 E [ap:1324] AP Socket Error: Hostname not found (11001)

log_message: 15:13:19.491 E [ap:3396] Connection error: 4

log_message: 15:13:19.491 I [ap:1388] Connecting to AP A1.spotify.com:80

正如您从日期中看到的那样,错误消息是即时的,所以我认为某些东西在我的本地计算机上阻止了这些消息。

这是我用 Wireshark 捕获的 TCP 流:

30  1.682802    MyLocalIp   193.182.8.15    HTTP    Continuation or non-HTTP traffic
31 1.702236 193.182.8.15 MyLocalIp HTTP Continuation or non-HTTP traffic
33 1.901706 MyLocalIp 193.182.8.15 TCP 50222 > http [ACK] Seq=12 Ack=12 Win=251 Len=0

因此,根据 Wireshark,我的计算机发送的第一条消息的 header 校验和不正确。

我知道主机是正确的,因为当我在 Java 中使用与 JNA 相同的 C API 时,我得到以下结果:

log_message() called:15:46:48.718 I [ap:1388] Connecting to AP A1.spotify.com:4070

log_message() called:15:46:53.769 E [ap:1324] AP Socket Error: Undefined Error 0x4E20 (20000)

log_message() called:15:46:53.770 E [ap:3396] Connection error: 117

log_message() called:15:46:53.770 I [ap:1388] Connecting to AP A2.spotify.com:80

log_message() called:15:46:53.789 I [ap:938] Connected to AP: 193.182.8.12:80

所以,这里4070端口连接失败,这是正常的,因为被公司防火墙屏蔽了,然后80端口连接成功。

这里是 Java 版本的 Wireshark 捕获:

104 6.296125    MyLocalIp   193.182.8.15    TCP 50339 > http [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=8 SACK_PERM=1
107 6.575599 193.182.8.15 MyLocalIp TCP http > 50339 [SYN, ACK] Seq=0 Ack=1 Win=5840 Len=0 MSS=1460 SACK_PERM=1 WS=7
108 6.575732 MyLocalIp 193.182.8.15 TCP 50339 > http [ACK] Seq=1 Ack=1 Win=65536 Len=0
109 6.582627 MyLocalIp 193.182.8.15 HTTP Continuation or non-HTTP traffic
110 6.614789 193.182.8.15 MyLocalIp TCP http > 50339 [ACK] Seq=1 Ack=512 Win=6912 Len=0
112 6.714201 193.182.8.15 MyLocalIp HTTP Continuation or non-HTTP traffic
113 6.722057 MyLocalIp 193.182.8.15 HTTP Continuation or non-HTTP traffic
115 6.746484 193.182.8.15 MyLocalIp TCP http > 50339 [ACK] Seq=500 Ack=677 Win=8064 Len=0
116 6.750938 193.182.8.15 MyLocalIp HTTP Continuation or non-HTTP traffic
117 6.751093 MyLocalIp 193.182.8.15 HTTP Continuation or non-HTTP traffic
118 6.985366 193.182.8.15 MyLocalIp HTTP [TCP Retransmission] Continuation or non-HTTP traffic
119 6.985416 MyLocalIp 193.182.8.15 TCP [TCP Dup ACK 117#1] 50339 > http [ACK] Seq=787 Ack=544 Win=65024 Len=0 SLE=500 SRE=544
121 7.013666 193.182.8.15 MyLocalIp HTTP Continuation or non-HTTP traffic
124 7.213661 MyLocalIp 193.182.8.15 TCP 50339 > http [ACK] Seq=787 Ack=1803 Win=65536 Len=0
132 7.703708 MyLocalIp 193.182.8.15 HTTP [TCP Retransmission] Continuation or non-HTTP traffic
133 7.721265 193.182.8.15 MyLocalIp HTTP Continuation or non-HTTP traffic

我尝试在我的 System32/drivers/etc/hosts 文件中为主机名 A1.spotify.com、A2.spotify.com 和 A3.spotify.com 添加 IP 193.182.8.15,但它没有改变任何东西。

我关闭了 Windows 防火墙和杀毒软件,也没有用。

我尝试在没有公司代理和防火墙的情况下在家里运行它,但结果是一样的(除了在 Java 版本上该服务能够连接到端口 4070)

有什么想法吗?

谢谢!

最佳答案

不正确的 header 校验和并不重要。许多软件依赖于硬件重新计算 header 校验和,因此它们很少在 CPU 中预先计算 header 校验和。由于 wireshark 在信息进入将其发送到线路的芯片之前获取信息,因此 wireshark 将以一定的频率报告不正确的 header 校验和。

请注意,最初的错误是在处理主机 A3 时发生的,但是您证明机器可访问的一些“证据”是在主机 A1 和 A2 上展示的。很有可能这些主机不共享相同的 IP 地址,所以我会小心地在主机文件中“将它们全部设置为 X.X.X.X”。

另请注意,绑定(bind)客户端可以配置为跳过主机文件条目。我不确定这里的情况是否如此,但我希望将公共(public)名称服务器添加到 resolv.conf 文件(或等效文件)中,看看是否能获得更好的结果。如果您“在家”运行的机器与您在“工作”时使用的笔记本电脑相同,那么错误的 resolv.conf 文件将“与您同行”。

祝你好运

关于无法连接到 C : Hostname not found (11001) on Windows, 中的主机 DNS 问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5275384/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com