我正在尝试使用以下方法连接到此"examplesite.com:9000/link"
这样的网站:
echo -e "GET http://google.com HTTP/1.0\n\n" | nc google.com 80 > /dev/null 2>&1
我见过人们使用上面的代码ping谷歌。
我可以使用curl
或wget
访问该网站,但我不想使用这些方法,因为我使用的微控制器不支持curl
或{{1} }。
有人可以解释上面的代码是如何工作的吗?
答案 0 :(得分:5)
nc
在google.com
echo
语句是使用HTTP / 1.0协议的有效GET请求> /dev/null 2>&1
重定向stdout
和stderr
,不产生任何输出$?
(值0表示成功)你可以写得更短:
echo -e "GET /\n\n" | nc google.com 80
更便携(没有echo -e
):
printf "GET /\n\n" | nc google.com 80
或者更便携但仍然使用echo
:
{ echo GET /; echo; } | nc google.com 80