Как я могу заставить netcat немедленно отправлять свои данные, а не только на новых строках? Я хочу вручную проверить парсер HTTP и проверить, как он себя ведет, когда строки заголовка распределены по нескольким пакетам.
1 ответ
37
Используйте клавишу "eof", Ctrl D. При нажатии в середине строки он выдаст netcat все, что было введено в этой точке.
Буферизация фактически выполняется слоем tty и не обрабатывается nc
вообще. stty -icanon && nc ...
отключит буферизацию и позволит nc
видеть данные по мере их ввода в терминал, после чего они будут отправлены сразу. (Обратите внимание, что команды stty
и nc
должны выполняться вместе, в противном случае сама оболочка, вероятно, включит ее снова при отображении своего приглашения.)