Ответ на HTTP - Get запрос в виде "[]" от временной почты 1secmail.com

Поддержка
  • Здравствуйте, столкнулся с проблемой, изначально написал регер почт под pochtao.ru, для дальнейшего получения 6-ти значного кода верификации, но как бы я не старался, сообщение с кодом просто не приходит.
    Далее я встретил сервисы временной почты и меня подкупил сервис https://www.1secmail.com/ своей простотой и как мне показалось - легким доступом к письму на этой почте через API.
    C HTTP сталкиваюсь первый раз, так как всего использую BAS около недели. Ну ближе к сути проблемы, получилось так, в первую очередь нужно отправить GET запрос с получением ID сообщения. С этим проблемы возникают редко и ID удаётся распарсить из ответа.
    Далее нужно с использованием этого ID отправить GET запрос на получение содержимого письма и здесь уже появляются проблемы, одна из них - это то что в ответ на запрос приходит огромная колбаса с кодом, в котором самое главное нет 6-ти значного кода, вторая проблема - это то что в ответ на запрос может прийти ответ в виде "[]".
    Первую проблему мне кажется можно решить, если сменить кодировку, а как решить вторую проблему - это мне не известно. Единственное может быть решение кроется в куки, но работать с ними я не умею и должного гайда нигде нет.
    Я надеюсь, что кто-то знает решение хотя-бы одной из проблем, прошу мне помочь - я новичек пока что без какого либо опыта. Ниже приложу все скриншоты, которые хоть как то могут помочь.

    Вот такое часто приходит в ответ на HTTP - Get запрос просмотр содержимого сообщения или ID.

    Screenshot_15.png

    А вот колбаса из кода

    Screenshot_16.png

    Незнаю как её правильно показать - но она ооооочень длинная.
    Если понадобятся доп. скрины, пишите, я не совсем знаю что ещё может помочь.

  • Может в "колбасе" в body и содержится нужный код?

    Сделать что-то типа (в блоке "Выполнить код"):

    [[BODY]] = JSON.parse([[KOLBASA]])["body"]
    

    где [[KOLBASA]] это ваш ответ от сервера.

    Ну и дальше уже [[BODY]] с помощью xpath распарсить, т.к. там, насколько я понял, html-код письма

  • @Inwnew Так, за это спасибо, сейчас попробую что-нить подобное, а что делать с таким "[]" ответом с сервера?

  • а что делать с таким "[]" ответом с сервера?

    очевидно же - пустой ответ пришел, либо попробовать еще разок, либо следующий ...

  • @DuckDuck said in Ответ на HTTP - Get запрос в виде "[]" от временной почты 1secmail.com:

    очевидно же - пустой ответ пришел

    Звучит логично, но для меня не очевидно, казалось что ответ должен быть всегда, как минимум потому что в первый запуск скрипта ответ приходит, а во второй уже нет и т.д. И при повторном запросе ответа всё равно нет, что ты не делай, максимально не предсказуемо.

  • @Артём12121 Вероятно через какое-то время письма удаляются автоматом.
    Попробовал послать письмо и API проверки почты показало входящие.
    Короче, если писем нет, ответ будет []
    Над headers можете не думать, будет работать и без них вовсе.

    изображение_2023-08-03_203351547.png

    Перед авторизацией аккаунта сперва делаете заново почту:

    https://www.1secmail.com/?login=[[RAN_LOGIN]]&domain=[[RAN_DOMAIN]]
    

    (в данном случае берёте из уже созданного аккаунта).
    После того, как сайт отправит письмо на почту, проверяйте его получение по API:

    https://www.1secmail.com/api/v1/?action=getMessages&login=[[RAN_LOGIN]]&domain=[[RAN_DOMAIN]]
    

    Если в ответе будет "id":, значит письмо пришло (пример: "id":293999443,"). По этому ID смотрите содержание письма по API:

    https://www.1secmail.com/api/v1/?action=readMessage&login=[[RAN_LOGIN]]&domain=[[RAN_DOMAIN]]&id=[[PI_ID]]
    

    Содержание письма будет между <div> и </div>

  • @gurkin4
    Спасибо за помощь, жаль что не заметил ваш ответ, уже сам решил, просто создал цикл if который проверяет переменную содержащую ответ и заново отправляет запрос если в ответ пришло [].