VM:带有 Ubuntu 18.04 的 Linux 的 Windows 子系统。
Curl 版本:7.58.0
使用的命令:curl -v“http://IP:PORT/PATH”
结果:
* Trying IP...
* Connected to IP (IP) port PORT(#0)
> GET /PATH HTTP/1.1
> Host: IP:PORT
> User-Agent: curl/7.58.0
> Accept: */*
>
然后它就卡在那里了。更奇怪的是,如果我在路径中有一个无效的查询字符串参数,我会从服务器获得带有自定义 json 主体的响应。如果我在 VM 之外使用 postman 执行相同的请求,我会得到响应。该服务器归我们所有,因此如果我看到服务器上的日志,我会看到它处理了该请求(但我无法调试它)。
这是怎么回事?请求的长度是否破坏了 curl?否则,如果我的 IP 不好,我只能假设部分代码会在最后切断我们。来自虚拟机的请求是否与虚拟机外部的 IP 不同?