Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
为什么会这样:
执行 3<>/dev/tcp/www.google.com/80 echo -e "GET / HTTP/1.1\n\n">&3 猫 <&3
这失败了:
echo -e "GET / HTTP/1.1\n\n" > /dev/tcp/www.google.com/80 猫 </dev/tcp/www.google.com/80
有没有一种方法可以使用 wget、curl 或其他一些库在单行中做到这一点?
第二个片段失败,因为它打开了两个单独的 TCP 套接字。echo连接并www.google.com写入 HTTP 请求;然后第二行打开另一个连接并尝试从该套接字读取。第二个套接字只是阻塞,因为 Google 正在等待发送 HTTP 请求。
echo
www.google.com
不是我的专业领域,但我认为第二个示例将打开第二个连接,而第一个示例将打开同一连接的句柄。因此,任何涉及仅打开一个连接的解决方案都应该有效。