Главная Юзердоски Каталог Трекер NSFW Настройки

abu

Создать тред Создать тред

Тред закрыт.

Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 17 1 10
Двач API — Инструкция к применению Аноним 27/09/15 Вск 20:32:25 42375 1
18Кб, 640x640
640x640
обновлено 06.08.2022

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

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

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

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

Получить все посты из треда с номера поста по треду:
Пример: http(s)://2ch.hk/makaba/mobile.fcgi?task=get_thread&board=abu&thread=39220&post=252
Получить один пост:
Пример: http(s)://2ch.hk/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.hk/доска/
Нулевая: http(s)://2ch.hk/доска/index.html
Списки тредов: http(s)://2ch.hk/доска/1-10.html

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

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

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

Вопросы задавайте на admin@2ch.hk

Пост будет дополняться... Если заметите ошибки или хотите реквесты, пишите ИТТ.
## Abu ## 09/07/16 Суб 15:30:38 49947 2
(взял отсюда 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 ## 09/07/16 Суб 15:31:40 49948 3
Все описанные ниже точки входа используют единый формат для результата и единые коды ошибок.
Переменная 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 ЗАКРЫТ. Её реализация невозможна из-за закрытия сервиса. Нельзя. Никак. Потому, что капчу отключили.
Аноним 10/07/16 Вск 05:09:48 49954 4
тест
Аноним 10/07/16 Вск 05:13:13 49955 5
Кто-нибудь дайте пример запроса, как отправить пост с разгаданной капчей. То есть вот я получил картинку, разгадал, а как правильно составить запрос с вариантом ответ, не могу понять из этого описания.
Аноним 10/07/16 Вск 09:49:35 49956 6
>>42375 (OP)
Абу, забань меня навсегда, пидр!!

Я серьёзно
Аноним 10/07/16 Вск 15:05:10 49959 7
>>42375 (OP)
Абу, сделай json-схему. Нихера не понятно. Почему по запросу треда по номеру посты лежат в массиве threads?
Аноним 10/07/16 Вск 18:18:37 49960 8
>>49955
Бамп реквесту!
Аноним 10/07/16 Вск 18:33:32 49961 9
>>49955
Бамп реквесту!
Аноним 10/07/16 Вск 18:33:50 49962 10
>>49955
Бамп реквесту!
Аноним 10/07/16 Вск 18:34:07 49963 11
>>49955
Бамп реквесту!
Аноним 10/07/16 Вск 18:34:26 49964 12
>>49955
Бамп реквесту!
Аноним 10/07/16 Вск 19:39:19 49966 13
>>49955
Бамп реквесту!

Ну объясните кто-нибудь.
Аноним 11/07/16 Пнд 03:05:23 49972 14
>>49955
Бамп реквесту!

Пожалуйста.
Аноним 11/07/16 Пнд 03:48:33 49973 15
>>49959
Сам составь, сука.
Аноним 11/07/16 Пнд 05:11:51 49974 16
>>49955
Бамп реквесту!
Аноним 11/07/16 Пнд 16:44:30 49977 17
>>49955
>Бамп реквесту!
Создать тред Создать тред

Check this out!

Настройки X
Стикеры X
Избранное / Топ тредов