Общение с «LiveJournal.com» (сокращенно «LJ»; по-русски «Живой Журнал», сокращенно «ЖЖ») по сети из PowerShell. Я пишу статьи по этой теме в своем блоге. Здесь собираюсь хранить скрипты, фрагменты кода (сниппеты) и полезные ссылки для работы с «LiveJournal.com» по сети из командной строки в программе-оболочке «PowerShell».
Пока что в папке «scripts» есть только один скрипт, который называется «Get-LiveJournal». С его помощью можно загрузить все посты указанного в первом параметре журнала к себе на компьютер. Этот скрипт лишь сохраняет тела HTTP(S)-ответов программы-сервера ЖЖ с постами журнала в текстовые файлы в «сыром» виде (то есть в том виде, в котором их возвращает ЖЖ). Иллюстрация работы скрипта:
Программа-оболочка «PowerShell» версии 7.3.3, программа-«эмулятор терминала» «Windows Terminal» версии 1.17.
Хоть полученные файлы являются текстовыми, их содержимое неудобно просматривать (и не просто неудобно, но и невозможно, так как текст поста по умолчанию закодирован процентной кодировкой, для чтения нужна расшифровка), так как ЖЖ возвращает данные постов в разбитом на множество параметров виде. Для дальнейшей работы с постами нужно создать скрипт, который преобразует полученные данные в какой-нибудь читабельный формат, например в XML или в HTML или в еще какой-либо вид. Еще можно создать отдельный скрипт, который загрузит полученные данные на какой-либо другой веб-сервис ведения блогов или сайт, например на «WordPress.com» и т.п.
Скрипт Get-LiveJournal предназначен для запуска из программы-оболочки PowerShell версии 7 или выше, в операционных системах Windows. В программе PowerShell имеются так называемые «политики выполнения», которые по умолчанию запрещают запуск скриптов. Для вре́менного снятия этих ограничений можно из окна программы PowerShell запустить еще один процесс программы PowerShell с отключенными ограничениями в рамках этого процесса (в этом случае информация о снятии ограничений не запоминается, ограничения вернутся после закрытия этого процесса) с помощью следующей команды:
pwsh -ExecutionPolicy Unrestricted
Исполняемый файл программы PowerShell называется pwsh.exe в отличие от исполняемого файла программы Windows PowerShell, который называется powershell.exe. Не перепутайте! У меня есть пост про политики выполнения.
- snippets-flat.md (для работы через интерфейс «flat»);
- snippets-xmlrpc.md (для работы через интерфейс «XML-RPC»).
Я работаю в операционной системе «Windows 10». Использую программу-оболочку «PowerShell» версии 7 и программу-«эмулятор терминала» «Windows Terminal» версии 1.17.
Из программы-оболочки «PowerShell» удобно пользоваться классами платформы «.NET», я часто использую эту возможность в сниппетах.
В папке «xml-examples» я собираюсь хранить примеры тел HTTP(S)-ответов в формате XML-RPC. Эти файлы неудобно полностью вставлять в пост, так как они занимают много места, но я буду оставлять в постах в своем блоге ссылки на эти файлы, чтобы читатель мог получить представление о том, как выглядит ответ в формате XML-RPC.
- документация протокола общения с «LiveJournal.com»;
- правила «LiveJournal.com» для роботов;
- пользовательское соглашение «LiveJournal.com» (обратить внимание на пункт 9.2.6);
- спецификация протокола XML-RPC;
- документация командлета
Invoke-WebRequest.
Статьи:
- PowerShell и LiveJournal (ЖЖ): три способа аутентификации — моя статья на «Хабре» от 20 фев.2023 г.;
- Основы работы с сервером livejournal.com — статья Евгения Ильина от 14 окт.2007 г.;
- PowerShell и LiveJournal (ЖЖ): скачивание постов журнала — моя статья на «Хабре» от 23 мар.2023 г.


