М.Двач / abu

18 Кб, 640x640
Двач API — Инструкция к применению 27 сен 2015, 20:32 42375 В конец треда | Веб

обновлено 06.08.2022

https://2ch.su/api.yml

JSON для тредов и списков:
Треды:
http(s)://2ch.su/доска/res/номертреда.json
Список тредов:
http(s)://2ch.su/доска/номерстраницы.json (первая страница: index)
Все треды с сортировкой по последнему посту:
http(s)://2ch.su/доска/catalog.json
Все треды с сортировкой по времени создания треда:
http(s)://2ch.su/доска/catalog_num.json
Все треды с доски(облегченный вариант, с просмотрами и рейтингом для топа тредов):
http(s)://2ch.su/доска/threads.json

Мобильное API
Получить настройки всех досок:
Пример: http(s)://2ch.su/makaba/mobile.fcgi?task=get_boards

Получить все посты из треда с номера поста по доске:
Пример: http(s)://2ch.su/makaba/mobile.fcgi?task=get_thread&board=abu&thread=39220&num=41955

Получить все посты из треда с номера поста по треду:
Пример: http(s)://2ch.su/makaba/mobile.fcgi?task=get_thread&board=abu&thread=39220&post=252
Получить один пост:
Пример: http(s)://2ch.su/makaba/mobile.fcgi?task=get_post&board=доска&post=номер_поста

Капча:
Для обычной рекапчи - /api/captcha/recaptcha/id
Для невидимой - /api/captcha/invisible_recaptcha/id
возвращает id - публичный ключ. А так же коды result - наличие бана, предупреждения, введенного паскода, истекшего пасскода и просто если макаба рип

По кодам result:
0 - ОШИБКА
2 - ты под пассом
3 - пасс истек
1 - требуется проверка капчи
Если в ответе есть warning - значит прилетел пред. Если есть banned - прилетел бан.
В принципе все.

Пути к файлам:
Доски: http(s)://2ch.su/доска/
Нулевая: http(s)://2ch.su/доска/index.html
Списки тредов: http(s)://2ch.su/доска/1-10.html

Треды: http(s)://2ch.su/доска/res/номер_треда.html
Пост: http(s)://2ch.su/доска/res/номер_треда.html#номер_поста

Файлы: http(s)://2ch.su/доска/src/таймштамп.расширение
Превью: http(s)://2ch.su/доска/thumb/таймштампs.расширение

Флаги: http(s)://2ch.su/flags/код_страны.png
Иконки: http(s)://2ch.su/icons/logos/иконка.png

Вопросы задавайте на admio8znANUS2c,o;hPUNCTUMsDB"u

Пост будет дополняться... Если заметите ошибки или хотите реквесты, пишите ИТТ.

Ответы956959

## Abu ## 2 9 июля 2016, 15:30 2 49947

(взял отсюда https://github.com/8ofproject/2ch-Browser-iOS/tree/develop)
Отправка сообщения в тред / создание треда

https://2ch.hk/makaba/posting.fcgi (М)

Параметры для передачи:

json = 1
task = post
board - код доски
thread - номер треда - для создания нового треда необходимо проставить 0
email - значение поля e-mail
name - имя
subject - тема сообщения
comment - комментарий, максимальное количество символов - 15000
image - изображение для отправки

Если нет пасскода, то необходимо передавать следующие поля:

captcha_type - recaptcha
captcha-key - ключ для получения ReCaptcha - есть в открытом доступе в форме постинга
g-recaptcha-response - ответ сервера reCaptcha - после решения головоломок сервер выдаёт поле с длинным ключём - это и он есть

Если есть пасскод, необходимо поле:

usercode - подробно о том, что это такое описано в соответствующем разделе.

Параметр usercode и связка параметров для капчи являются взаимоисключающими.

При использовании их одновременно положительный ответ сервера не гарантирован.

Если используется что-то одно, то второе обязательно должно отсутствовать в запросе.

Использование пасскода при работе с API
Работу по обеспечению рабочего механизма отправки сообщений через пасскод можно разделить на следующие этапы:

1) отправка пасскода на сервер двача

POST-запрос по адресу: https://2ch.hk/makaba/makaba.fcgi (М) с параметрами:

task = auth
usercode = passcode - необходимо отправлять именно пасскод, и пусть вас не смущает название параметра

2) получение в ответ usercode-параметр для использования в дальнейших запросах

К сожалению, как такового ответа в нормальном виде сервер не выдаст. Вместо этого он сохранит локально Cookies на устройстве и попытается перенаправить на одну из досок (обычно b).

3) сохранение usercode-параметра как cookie

Нас интересует cookie с параметром name равным usercode_nocaptcha, необходимо самостоятельно достать его значение из кук (создаётся при отправке пасскода на устройстве автоматом) и сохранить локально на устройстве через соответствующий механизм.

Затем использовать этот параметр в форме как значение переменной usercode. а также создавать локальную cookie-переменную с именем usercode_nocaptcha* и значением, соответствующим значению, полученному с сервера.

4) использование usercode-параметра при отправке сообщений

## Abu ## 2 9 июля 2016, 15:30 2 49947

(взял отсюда https://github.com/8ofproject/2ch-Browser-iOS/tree/develop)
Отправка сообщения в тред / создание треда

https://2ch.hk/makaba/posting.fcgi (М)

Параметры для передачи:

json = 1
task = post
board - код доски
thread - номер треда - для создания нового треда необходимо проставить 0
email - значение поля e-mail
name - имя
subject - тема сообщения
comment - комментарий, максимальное количество символов - 15000
image - изображение для отправки

Если нет пасскода, то необходимо передавать следующие поля:

captcha_type - recaptcha
captcha-key - ключ для получения ReCaptcha - есть в открытом доступе в форме постинга
g-recaptcha-response - ответ сервера reCaptcha - после решения головоломок сервер выдаёт поле с длинным ключём - это и он есть

Если есть пасскод, необходимо поле:

usercode - подробно о том, что это такое описано в соответствующем разделе.

Параметр usercode и связка параметров для капчи являются взаимоисключающими.

При использовании их одновременно положительный ответ сервера не гарантирован.

Если используется что-то одно, то второе обязательно должно отсутствовать в запросе.

Использование пасскода при работе с API
Работу по обеспечению рабочего механизма отправки сообщений через пасскод можно разделить на следующие этапы:

1) отправка пасскода на сервер двача

POST-запрос по адресу: https://2ch.hk/makaba/makaba.fcgi (М) с параметрами:

task = auth
usercode = passcode - необходимо отправлять именно пасскод, и пусть вас не смущает название параметра

2) получение в ответ usercode-параметр для использования в дальнейших запросах

К сожалению, как такового ответа в нормальном виде сервер не выдаст. Вместо этого он сохранит локально Cookies на устройстве и попытается перенаправить на одну из досок (обычно b).

3) сохранение usercode-параметра как cookie

Нас интересует cookie с параметром name равным usercode_nocaptcha, необходимо самостоятельно достать его значение из кук (создаётся при отправке пасскода на устройстве автоматом) и сохранить локально на устройстве через соответствующий механизм.

Затем использовать этот параметр в форме как значение переменной usercode. а также создавать локальную cookie-переменную с именем usercode_nocaptcha* и значением, соответствующим значению, полученному с сервера.

4) использование usercode-параметра при отправке сообщений

Показать весь текст

## Abu ## 3 9 июля 2016, 15:31 3 49948

Все описанные ниже точки входа используют единый формат для результата и единые коды ошибок.
Переменная result отвечает за результат выполнения запроса и может принимать следующие значения:
3 - Капча не требуется. Например, в случае если на доске она отключена.
2 - Капча не требуется, поскольку активен VIP аккаунт.
1 - Запрос удовлетворён успешно.
0 - При выполнении запроса возникла ошибка. Код ошибки находится в переменной error, описание ошибки в переменной description. В данный момент спецификация кодов ошибок находится в разработке и скорее всего будет изменена.

Перед тем, как использовать какую-либо капчу, вы должны получить настройки для доски:
/api/captcha/settings/b
enabled - включена ли капча или нет. Если нет, ничего делать не нужно и любой запрос id вернёт код 3 (или 2, если используется пасскод).
types - массив с идентификаторами капчи, доступными на доске. Каждый тип может иметь уникальные настройки, например, время "протухания" капчи.
Описание точек входа:
1) /api/captcha/2chaptcha:
/captcha/2chaptcha/id?board=[доска]&thread=[тред] - используется для получения id капчи. Переменная thread не обязательна при создании нового треда.
При отправке, например, поста, необходимо установить переменную captcha_type в значение переменной type. id и значение в [type]_id и type_[value] соответственно.
/api/captcha/2chaptcha/service_id - используется для получения id капчи без проверки на наличие пасскода и настроек доски.
/api/captcha/2chaptcha/image/[id] - используется для получения картинки для капчи, используя id из запроса выше.
/api/captcha/2chaptcha/check/[id]?value=[value] - используется для проверки капчи до отправки поста.
2) /api/captcha/animecaptcha:
/api/captcha/animecaptcha/id?board=[доска]&thread=[тред] - используется для получения id капчи. Переменная thread не обязательна при создании нового треда.
Помимо id передаётся массив values с возможными вариантами ответа. В этом случае значение капчи должен принимать id правильного по вашему мнению варианта.
При отправке, например, поста, необходимо установить переменную captcha_type в значение переменной type. id и значение в [type]_id и type_[value] соответственно.
/api/captcha/animecaptcha/service_id - используется для получения id капчи без проверки на наличие пасскода и настроек доски.
/api/captcha/animecaptcha/image/[id] - используется для получения картинки для капчи, используя id из запроса выше.
/api/captcha/animecaptcha/check/[id]?value=[value] - используется для проверки капчи до отправки поста.
3) /api/captcha/recaptchav1: /api/captcha/recaptchav1/id - используется для получения публичного id рекапчи первой версии.
/api/captcha/recaptchav1/mobile - используется в мобильных приложениях для упрощённого вывода капчи.
4) /api/captcha/recaptcha: /api/captcha/recaptcha/id - используется для получения публичного id рекапчи второй версии.
/api/captcha/recaptcha/mobile - используется в мобильных приложениях для упрощённого вывода капчи.
5) /api/captcha/mailru: /api/captcha/mailru/id - используется для получения публичного id капчи от mail.ru.

Устаревший интерфейс /makaba/captcha.fcgi будет ОТКЛЮЧЁН 8 сентября.
Капча от Yandex и проект CleanWeb ЗАКРЫТ. Её реализация невозможна из-за закрытия сервиса. Нельзя. Никак. Потому, что капчу отключили.

## Abu ## 3 9 июля 2016, 15:31 3 49948

Все описанные ниже точки входа используют единый формат для результата и единые коды ошибок.
Переменная result отвечает за результат выполнения запроса и может принимать следующие значения:
3 - Капча не требуется. Например, в случае если на доске она отключена.
2 - Капча не требуется, поскольку активен VIP аккаунт.
1 - Запрос удовлетворён успешно.
0 - При выполнении запроса возникла ошибка. Код ошибки находится в переменной error, описание ошибки в переменной description. В данный момент спецификация кодов ошибок находится в разработке и скорее всего будет изменена.

Перед тем, как использовать какую-либо капчу, вы должны получить настройки для доски:
/api/captcha/settings/b
enabled - включена ли капча или нет. Если нет, ничего делать не нужно и любой запрос id вернёт код 3 (или 2, если используется пасскод).
types - массив с идентификаторами капчи, доступными на доске. Каждый тип может иметь уникальные настройки, например, время "протухания" капчи.
Описание точек входа:
1) /api/captcha/2chaptcha:
/captcha/2chaptcha/id?board=[доска]&thread=[тред] - используется для получения id капчи. Переменная thread не обязательна при создании нового треда.
При отправке, например, поста, необходимо установить переменную captcha_type в значение переменной type. id и значение в [type]_id и type_[value] соответственно.
/api/captcha/2chaptcha/service_id - используется для получения id капчи без проверки на наличие пасскода и настроек доски.
/api/captcha/2chaptcha/image/[id] - используется для получения картинки для капчи, используя id из запроса выше.
/api/captcha/2chaptcha/check/[id]?value=[value] - используется для проверки капчи до отправки поста.
2) /api/captcha/animecaptcha:
/api/captcha/animecaptcha/id?board=[доска]&thread=[тред] - используется для получения id капчи. Переменная thread не обязательна при создании нового треда.
Помимо id передаётся массив values с возможными вариантами ответа. В этом случае значение капчи должен принимать id правильного по вашему мнению варианта.
При отправке, например, поста, необходимо установить переменную captcha_type в значение переменной type. id и значение в [type]_id и type_[value] соответственно.
/api/captcha/animecaptcha/service_id - используется для получения id капчи без проверки на наличие пасскода и настроек доски.
/api/captcha/animecaptcha/image/[id] - используется для получения картинки для капчи, используя id из запроса выше.
/api/captcha/animecaptcha/check/[id]?value=[value] - используется для проверки капчи до отправки поста.
3) /api/captcha/recaptchav1: /api/captcha/recaptchav1/id - используется для получения публичного id рекапчи первой версии.
/api/captcha/recaptchav1/mobile - используется в мобильных приложениях для упрощённого вывода капчи.
4) /api/captcha/recaptcha: /api/captcha/recaptcha/id - используется для получения публичного id рекапчи второй версии.
/api/captcha/recaptcha/mobile - используется в мобильных приложениях для упрощённого вывода капчи.
5) /api/captcha/mailru: /api/captcha/mailru/id - используется для получения публичного id капчи от mail.ru.

Устаревший интерфейс /makaba/captcha.fcgi будет ОТКЛЮЧЁН 8 сентября.
Капча от Yandex и проект CleanWeb ЗАКРЫТ. Её реализация невозможна из-за закрытия сервиса. Нельзя. Никак. Потому, что капчу отключили.

Показать весь текст

4 10 июля 2016, 05:09 4 49954

тест

5 10 июля 2016, 05:13 5 49955

Кто-нибудь дайте пример запроса, как отправить пост с разгаданной капчей. То есть вот я получил картинку, разгадал, а как правильно составить запрос с вариантом ответ, не могу понять из этого описания.

Ответы960961962963964966972974977

6 10 июля 2016, 09:49 6 49956

>>42375 (OP)
Абу, забань меня навсегда, пидр!!

Я серьёзно

7 10 июля 2016, 15:05 7 49959

>>42375 (OP)
Абу, сделай json-схему. Нихера не понятно. Почему по запросу треда по номеру посты лежат в массиве threads?

Ответы973

8 10 июля 2016, 18:18 8 49960

>>49955
Бамп реквесту!

9 10 июля 2016, 18:33 9 49961

>>49955
Бамп реквесту!

10 10 июля 2016, 18:33 10 49962

>>49955
Бамп реквесту!

11 10 июля 2016, 18:34 11 49963

>>49955
Бамп реквесту!

12 10 июля 2016, 18:34 12 49964

>>49955
Бамп реквесту!

13 10 июля 2016, 19:39 13 49966

>>49955
Бамп реквесту!

Ну объясните кто-нибудь.

14 11 июля 2016, 03:05 14 49972

>>49955
Бамп реквесту!

Пожалуйста.

15 11 июля 2016, 03:48 15 49973

>>49959
Сам составь, сука.

16 11 июля 2016, 05:11 16 49974

>>49955
Бамп реквесту!

17 11 июля 2016, 16:44 17 49977

>>49955
>Бамп реквесту!

Тред закрытОбновить закрытый тред
« /abu/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах.Подробнее

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion