RU SO Tools
Набор инструментов для взаимодействия с API StackExchange, состоит из библиотеки для .NET и утилиты командной строки. Код данного проекта лежит в основе инструментов архива удаленных сообщений Stack Overflow на русском.
Системные требования: Windows, .NET Framework 4.5
Настройка .NET Framework для работы с TLS 1.2
StackExchange API с февраля 2020 г. поддерживает только протокол TLS 1.2. Для его включения необходимо установить в реестре следующие значения:
SystemDefaultTlsVersions
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319]
"SystemDefaultTlsVersions"=dword:00000001
Для Windows 7 также необходимо добавить раздел TLS 1.2 в протоколах Schannel
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
"Enabled"=dword:00000001
"DisabledByDefault"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001
Ссылки:
- TLS 1.0 and TLS 1.1 removal for Stack Exchange services
- Transport Layer Security (TLS) best practices with the .NET Framework
- Transport Layer Security (TLS) registry settings
Утилита командной строки RuSoCmd
Команды:
RuSoCmd saveq [site] [question_id]
Загрузить вопрос и все его ответы с указанного сайта и сохранить его в текущий каталог.
RuSoCmd savea [site] [answer_id]
Загрузить ответ с указанного сайта и сохранить его в текущий каталог.
RuSoCmd saveu [site] [user_id]
Загрузить все ответы пользователя на указанном сайте и сохранить их в текущий каталог.
RuSoCmd sync [site]
Загрузить вопросы для всех ответов, сохраненных в текущем каталоге.
Загруженные вопросы сохраняются в файлы с имененем вида Q(id).md, ответы - A(id).md. Файл состоит из блока метаданных и тела сообщения, в виде HTML-разметки, встроенной в Markdown.
Пример:
RuSoCmd saveq ru.stackoverflow.com 12345
Описание
Набор инструментов для взаимодействия с API StackExchange.