Ubuntu

Netcat 錯誤請求

  • October 15, 2017

我正在使用 Ubuntu,我切換到 netcat-traditional 版本,但是當我嘗試發出簡單的 HTTP 請求時,它總是失敗,任何情況下,任何伺服器都會發出 400 錯誤請求:(Apache Ubuntu 在埠 80 上執行)

nc localhost 80

我發送了簡單的:

GET / HTTP/1.1
Host: localhost

簡單或複雜的請求,總是給出相同的錯誤,我認為它可能與“bash”或“系統”編碼有關,但我測試建構一個“虛擬”HTTP請求,如上,並保存在單獨的文件中直接輸入,但給出相同的錯誤(400 …):

nc localhost 80 < header.txt

我發現問題是關於 EOL 的。即使伺服器在 Linux/Unix 中執行,我也必須使用 MS-DOS 的 EOL(將“\n”更改為“\r\n”)系統。

保存時,如果是gedit,只需在gedit的“另存為”螢幕中的“行尾”選項中選擇“Windows”即可解決。

引用自:https://unix.stackexchange.com/questions/397602