Ubuntu
Netcat 錯誤請求
我正在使用 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”即可解決。