Этот вид сайта пытается мешать не использовать графический веб-браузер, потому что при использовании wget, Вы будете пропускать всю эту рекламу, которая платит за пропускную способность.
Некоторые сайты не осуществляют усовершенствованные проверки и могут быть обмануты легко: скажите wget притворяться, что это - действительно Mozilla и что это прибывает из сайта для скачивания.
wget --user-agent='Mozilla/5.0 (Windows NT 6.0) Gecko/20100101 Firefox/14.0.1' \
--referer=http://downloadsite.example.com/download-page-url
http://downloadsite.example.com/download-page-url/filename.ext`
Большинство сайтов, которые проверяют, позволяет Вам сойти с рук --user-agent=Mozilla
и --referer
набор к URL файла Вы загружаете.
С некоторыми сайтами Вы, возможно, должны были бы экспортировать cookie веб-браузера и передачу --load-cookies
к wget; в этой точке с помощью wget начинает быть большим количеством работы, чем ручная загрузка. Окончательный метод, который может работать все время, но требует некоторого кодирования для каждого сайта, должен использовать платформу автоматизации браузера, такую как Selenium или Watir.
См. также Автоматизирующие веб-запросы с помощью завихрения?
Много эмуляторов терминала позволяют переопределять цвета с escape-последовательностями, существует даже terminfo возможность этого: initc
. С теми и принятием terminfo базы данных корректно, можно сделать:
tput initc 1 1000 0 0
К переопределяет цвет 1 (обычно red
) к 1 000%-му красному, 0‰-му зеленому, 0‰-му синему цвету (#ff0000
).
Так:
tput initc 1 1000 0 0
tput setaf 1 # to set the foreground color to 1
echo '██ = #FF0000'
tput sgr0
сделал бы то, что Вы хотите.
Для наблюдения что escape-последовательность, которая соответствует:
$ tput initc 1 1000 0 0 | cat -vt
^[]4;1;rgb:FF/00/00^[\
Так, на моем терминале (xterm
), я могу также сделать:
printf '\e]4;1;rgb:FF/00/00\e\\\e[31m██ = #FF0000\e[m\n'
Обратите внимание, что это изменяет цвет color1
. Таким образом, при изменении этого на синий весь текст, который был отображен с тем цветом, автоматически изменит цвет.
Сбрасывать цвета к их начальным значениям (начальная буква в то время xterm
был запущен), с xterm
:
printf '\e]104\a'
Или сбрасывать единственный цвет:
printf '\e]104;1\a'
Для запросов текущего значения цвета существует управляющая последовательность, которая вызывает xterm
передавать значение обратно как терминальный вход. Можно использовать xtermcontrol
команда для помощи:
$ xtermcontrol --get-color1
rgb:ffff/ffff/0000
Но это только работает на первые 16 цветов (xterm
в наше время поддержки 256).
На терминалах, которые не поддерживают сброс цветов к их значениям по умолчанию, но поддерживают 256 цветов а-ля xterm
, можно хотеть использовать цвета 17 и выше поскольку они редко используются приложениями.
Однако обратите внимание, что некоторая terminfo база данных неправильно указывает, как присвоить и использовать те цвета для тех терминалов, таким образом, можно хотеть любого к hardcode escape-последовательности силы $TERM
к чему-то как xterm-256color
.
printf '\e]4;17;rgb:ff/ff/00\a\e[38;5;17mThis is yellow\e[m\n'
printf '\e]4;18;rgb:ff/00/ff\a\e[38;5;18mThis is magenta\e[m\n'
tpuc oc
, но это не работает, если пользователь настроил свои цвета динамично.) огромное спасибо – Gilles 'SO- stop being evil' 06.12.2013, 03:40oc
возможность, кажется, не определяется дляxterm
в моей terminfo базе данных, ноprintf '\e]104\a'
действительно сбрасывает цвета к соответствию X ресурсов (как определено системой или пользователем). См. мой обновленный ответ. – Stéphane Chazelas 06.12.2013, 13:11