连接到网站没有curl或bash

时间:2015-11-02 19:33:03

标签: bash shell curl get

我正在尝试使用以下方法连接到此"examplesite.com:9000/link"这样的网站:

echo -e "GET http://google.com HTTP/1.0\n\n" | nc google.com 80 > /dev/null 2>&1

我见过人们使用上面的代码ping谷歌。 我可以使用curlwget访问该网站,但我不想使用这些方法,因为我使用的微控制器不支持curl或{{1} }。

有人可以解释上面的代码是如何工作的吗?

1 个答案:

答案 0 :(得分:5)

  1. ncgoogle.com
  2. 上打开与端口80的连接
  3. echo语句是使用HTTP / 1.0协议的有效GET请求
  4. > /dev/null 2>&1重定向stdoutstderr,不产生任何输出
  5. 您可以通过退出代码告诉成功,$?(值0表示成功)
  6. 你可以写得更短:

    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