Рабочий стол Python скрипт получить SMS-сообщения, отправленные на устройство Android - PullRequest
1 голос
/ 01 октября 2019

У меня есть веб-скребок, написанный на python / selenium, который ежедневно запускается на домашнем сервере. На одном из сайтов, которые я перебираю, недавно был введен 2FA, но в целом я поддерживаю его, однако недостатком является то, что он сломал мою автоматизацию, так как теперь одноразовый код доступа отправляется через SMS на мой номер мобильного телефона - который долженнаберите текст, прежде чем скрипт сможет продолжить. Чтобы снова полностью автоматизировать мой сценарий, мне нужно, чтобы мой сценарий Python для настольного компьютера опрашивал мое устройство Android на наличие SMS-сообщений.

Я посмотрел на Twilio, однако документы предполагают, что он не подходит для моего варианта использования;

Хостинг SMS предоставляет клиентам способ использовать Twilio ... для отправки и получения сообщений на голосовые номера, которыми они уже владеют ... Хостинг SMS поддерживает США и Канаду в бета-версии. Мобильные номера не поддерживаются.

У Google есть SMS Retriever API, что также не соответствует моим целям, так как для него требуется собственный хэш-код в теле сообщения, а SMS User Consent API требует от пользователя нажатияэкран для подтверждения каждого запроса (который, конечно, не полностью автоматизирован).

Самым быстрым случайным методом, который я могу придумать, чтобы получить эти OTP для моего скрипта Python, было бы написать простое дискретное мобильное приложение с разрешением на доступ к SMS и создать следующий рабочий процесс:

  • сделать настольный сценарий Python для паузы, когда он достигает экрана 2FA, и прослушивать указанный порт UDP / TCP
  • иметь мобильное приложение, просто ищущее сообщения с целевого номера (или с целевой фразой)
  • при получении такого сообщения приложение зашифровывает текст сообщения, и
  • отправляет его через UDP / TCP на вышеупомянутый порт на моем домашнем сервере
  • , позволяя сценарию расшифровать и проанализировать дляOTP (или время ожидания после x минут)

В идеале единственное, что могло бы помешать рабочему процессу, - это если мой телефон выключился во время выполнения сценария.

. ... вместо того, чтобы связывать это вместе, мне интересно, может ли кто-нибудь порекомендовать лучший способ (или API) для достижения этого?

1 Ответ

0 голосов
/ 05 октября 2019

Я бы предложил посмотреть https://wammu.eu/, поддерживаемых телефонов https://wammu.eu/phones/

...