@mikserok

Как скачать файл NCat'ом подобно Wget'у?

Попалась встроеная линукс система без WGET и CURL есть только NCat
Нужно написать однострочник для скачивания файла (pastebin.com/raw.php?i=kqqfkeDg) по http протоколу, что бы потом вставить его в shell скрипт.
В интерактивном режиме работает
root@debi:~# ncat pastebin.com 80 
GET /raw.php?i=kqqfkeDg HTTP/1.1
Host: pastebin.com
User-Agent: Mozilla/5.0

HTTP/1.1 200 OK
....

А вот однострочник получает в ответ 0 байт
root@debi:~# echo -e "GET /raw.php?i=kqqfkeDg HTTP/1.1\nHost: pastebin.com\nUser-Agent: Mozilla/5.0\n\n" | ncat pastebin.com 80 -v
Ncat: Version 6.49BETA4 ( http://nmap.org/ncat )
Ncat: Connected to 190.93.243.15:80.
Ncat: 78 bytes sent, 0 bytes received in 0.29 seconds.

Где я ошибся и как правильно?
  • Вопрос задан
  • 1162 просмотра
Пригласить эксперта
Ответы на вопрос 3
@asd111
вместо \n надо \r\n
Ответ написан
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
а бинарника GET тоже нет?

Вообще, похоже на то, что cloudflare забанил вас. Так-то команда правильная. Попробуйте убрать UA.
Ответ написан
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
cat <<EOF > rq
GET /raw.php?i=kqqfkeDg HTTP/1.1
Host: pastebin.com
User-Agent: Mozilla/5.0

EOF
tail -n +0 -f rq | ncat pastebin.com 80

В вашем варианте echo завершается и у nc отваливается stdin, из-за чего он тоже завершается.
В предложенном варианте stdin не закрывается, как и при интерактивном использовании, но нужно как-то следить за тем, что файл получен полностью и завершать nc.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы