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
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 Работу по обеспечению рабочего механизма отправки сообщений через пасскод можно разделить на следующие этапы:
task = auth usercode = passcode - необходимо отправлять именно пасскод, и пусть вас не смущает название параметра
2) получение в ответ usercode-параметр для использования в дальнейших запросах
К сожалению, как такового ответа в нормальном виде сервер не выдаст. Вместо этого он сохранит локально Cookies на устройстве и попытается перенаправить на одну из досок (обычно b).
3) сохранение usercode-параметра как cookie
Нас интересует cookie с параметром name равным usercode_nocaptcha, необходимо самостоятельно достать его значение из кук (создаётся при отправке пасскода на устройстве автоматом) и сохранить локально на устройстве через соответствующий механизм.
Затем использовать этот параметр в форме как значение переменной usercode. а также создавать локальную cookie-переменную с именем usercode_nocaptcha* и значением, соответствующим значению, полученному с сервера.
4) использование usercode-параметра при отправке сообщений
Все описанные ниже точки входа используют единый формат для результата и единые коды ошибок.
Переменная 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 ЗАКРЫТ. Её реализация невозможна из-за закрытия сервиса. Нельзя. Никак. Потому, что капчу отключили.
Кто-нибудь дайте пример запроса, как отправить пост с разгаданной капчей. То есть вот я получил картинку, разгадал, а как правильно составить запрос с вариантом ответ, не могу понять из этого описания.