Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 在端口8080的DNS缓存中找不到主机名,但在端口80上没有问题?_Spring_Curl_Dns_Raspberry Pi - Fatal编程技术网

Spring 在端口8080的DNS缓存中找不到主机名,但在端口80上没有问题?

Spring 在端口8080的DNS缓存中找不到主机名,但在端口80上没有问题?,spring,curl,dns,raspberry-pi,Spring,Curl,Dns,Raspberry Pi,我正在测试我在笔记本电脑(192.168.1.217:8080)上使用Springboot制作的API,并试图通过SSH从我的Raspberry Pi获得一个cURL请求 以下是我尝试通过端口8080发送请求时收到的错误,它似乎不喜欢: pi@raspberrypi:~ $ curl -v 192.168.1.217:8080/api * Hostname was NOT found in DNS cache * Trying 192.168.1.217... 但是,cURL不适用于相同的

我正在测试我在笔记本电脑(192.168.1.217:8080)上使用Springboot制作的API,并试图通过SSH从我的Raspberry Pi获得一个cURL请求

以下是我尝试通过端口8080发送请求时收到的错误,它似乎不喜欢:

pi@raspberrypi:~ $ curl -v 192.168.1.217:8080/api
* Hostname was NOT found in DNS cache
*   Trying 192.168.1.217...
但是,cURL不适用于相同的IP,但适用于端口80:

pi@raspberrypi:~ $ curl -v 192.168.1.217
* Rebuilt URL to: 192.168.1.217/
* Hostname was NOT found in DNS cache
*   Trying 192.168.1.217...
* Connected to 192.168.1.217 (192.168.1.217) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.38.0
> Host: 192.168.1.217
> Accept: */*
>
< HTTP/1.1 302 Found
< Date: Thu, 30 Mar 2017 17:20:43 GMT
* Server Apache/2.4.23 (Win32) OpenSSL/1.0.2h PHP/5.5.38 is not blacklisted
< Server: Apache/2.4.23 (Win32) OpenSSL/1.0.2h PHP/5.5.38
< X-Powered-By: PHP/5.5.38
< Location: http://192.168.1.217/dashboard/
< Content-Length: 0
< Content-Type: text/html
<
* Connection #0 to host 192.168.1.217 left intact
pi@raspberrypi:~ $
pi@raspberrypi:~$curl-v192.168.1.217
*已重建URL至:192.168.1.217/
*在DNS缓存中找不到主机名
*正在尝试192.168.1.217。。。
*连接到192.168.1.217(192.168.1.217)端口80(#0)
>GET/HTTP/1.1
>用户代理:curl/7.38.0
>主持人:192.168.1.217
>接受:*/*
>
找到
我试着四处看看,但没用。。。有人对我为什么在DNS缓存中找不到自己的主机名有什么建议吗


没有协议前缀的Cheers

curl假定HTTP端口为80

若要使用另一个端口(在该端口不存在该假设的情况下),只需将命令的URL更改为如下所示:

curl -v http://192.168.1.217:8080/api

这里有一篇关于这个主题的不错的文章:

不,
在DNS缓存中找不到主机名
不是问题所在。在下一行中,您可以清楚地看到,在这两个示例中,curl都在尝试连接到
192.168.1.217
。您的问题是,该IP地址的8080端口上没有应答(而Apache服务器在那里的80端口上应答)


如果您得到的是长时间的暂停,然后是超时,而不是快速的“连接被拒绝”,那么您几乎肯定需要打开服务器机器上本地防火墙中的端口8080。

您希望DNS缓存中有IP地址吗?当包含端口时,Curl可能首先尝试将“192.168.1.217”作为文本主机名。您是否尝试过将http://before 192.168.1.217:8080/api放入curl命令中?您尝试过192.168.1.217:80/api吗?听起来很可疑,Apache一开始没有监听端口8080。不幸的是,它仍然遇到相同的错误:*DNS缓存中没有找到主机名*尝试192.168.1.217…听起来您好像遇到了某种DNS问题。我打赌如果你把129.168.1.217:80放进去,你会看到同样的问题。