Вот путь в Perl, который может иметь дело с произвольным числом согласующих отрезков длинной линии:
perl -ne '/pattern/ && do{$c=$.; print}; $.==$c+4 && print' file > new_file`
В Perl. специальная переменная $.
текущий номер строки. Так, каждый раз я нахожу соответствие строки pattern
, Я печатаю его и сохраняю его номер строки как $c
. Я затем печатаю снова, когда текущий номер строки равняется еще 4, чем тот, распечатанный ранее.
DNS сам по себе не поможет: он может указать вашему клиенту на другую машину, но эта машина должна будет обслуживать ожидаемое содержимое Flickr на порту 80.
Вам нужен прокси-сервер, который будет принимать HTTP-запросы по HTTP и повторять их с помощью HTTPS. Направьте ваш загрузчик на этот прокси; прокси - это тот, кто делает DNS запрос, а не клиент, поэтому вам вообще не нужно будет работать с DNS.
Апач с mod_proxy
и mod_ssl
является простым, если он тяжеловесный, таким прокси. Сейчас я не могу придумать готовое облегченное решение. Модификация Python's SimpleHTTPServer
может быть другим решением.
Чтобы указать Wine-приложение на прокси, смотрите Wine FAQ §7.18 "Как настроить прокси?". Существует два решения:
Обычное решение unix: установить переменную окружения http_proxy
, например (если прокси слушает на порту 8070):
экспортировать http_proxy=http://localhost:8070/.
вино 'c:/Файлы программы/Flickr Uploader/Flickr Uploader.exe'.
Способ вина: установите [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Настройки] ProxyEnable
ключ реестра (синтаксис см. в разделе "Часто задаваемые вопросы по винам").
Создайте переадресацию SSH-порта на вашем боксе и перенаправьте загрузчик на локальный порт.
ssh -L 80:www.flickr.com:443 user@localhost
Направьте загрузчик на localhost:80
и перенаправление порта переместит трафик на www.flickr.com:443