att
This commit is contained in:
parent
3aaf089d8e
commit
db682de691
@ -6,7 +6,6 @@ import re
|
||||
import json
|
||||
from datetime import datetime
|
||||
import pyodbc
|
||||
import time
|
||||
|
||||
|
||||
|
||||
@ -14,10 +13,6 @@ hoje_coluna = datetime.today() # Pegando a Data e Hora de hoje
|
||||
hoje_formatado = hoje_coluna.strftime('%Y-%m-%d')
|
||||
data_atual = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||
|
||||
# Constantes de tempo em segundos
|
||||
TEMPO_ESPERA_SUCESSO = 45 * 60 # 45 minutos
|
||||
TEMPO_ESPERA_ERRO = 3 * 60 # 3 minutos
|
||||
|
||||
def generate_code_verifier():
|
||||
"""Gera um code_verifier aleatório."""
|
||||
return base64.urlsafe_b64encode(os.urandom(32)).decode('utf-8').rstrip("=")
|
||||
@ -233,71 +228,58 @@ def insert_token_to_db(token):
|
||||
except Exception as e:
|
||||
print(f"Erro ao inserir token no banco de dados: {e}")
|
||||
|
||||
def main_loop():
|
||||
def main():
|
||||
"""
|
||||
Função principal que executa em loop, controlando os tempos de espera
|
||||
Função principal que executa uma única vez
|
||||
"""
|
||||
while True:
|
||||
try:
|
||||
print(f"\n[{datetime.now()}] Iniciando processo de obtenção do token...")
|
||||
|
||||
session = requests.Session()
|
||||
code_verifier = generate_code_verifier()
|
||||
code_challenge = generate_code_challenge(code_verifier)
|
||||
|
||||
# Enviar requisição GET para obter tokens
|
||||
html_content = send_authorization_request(session, code_challenge)
|
||||
csrf_token, state_properties = extract_tokens(html_content)
|
||||
try:
|
||||
print(f"\n[{datetime.now()}] Iniciando processo de obtenção do token...")
|
||||
|
||||
if not csrf_token or not state_properties:
|
||||
print(f"[{datetime.now()}] Falha ao extrair CSRF Token ou StateProperties.")
|
||||
print(f"Aguardando {TEMPO_ESPERA_ERRO/60} minutos antes de tentar novamente...")
|
||||
time.sleep(TEMPO_ESPERA_ERRO)
|
||||
continue
|
||||
session = requests.Session()
|
||||
code_verifier = generate_code_verifier()
|
||||
code_challenge = generate_code_challenge(code_verifier)
|
||||
|
||||
# Dados de login
|
||||
username = "daniel.rodrigue"
|
||||
password = "Iphone2513@"
|
||||
# Enviar requisição GET para obter tokens
|
||||
html_content = send_authorization_request(session, code_challenge)
|
||||
csrf_token, state_properties = extract_tokens(html_content)
|
||||
|
||||
# Enviar requisição POST para login
|
||||
login_response = send_login_request(session, csrf_token, state_properties, username, password)
|
||||
if not csrf_token or not state_properties:
|
||||
print(f"[{datetime.now()}] Falha ao extrair CSRF Token ou StateProperties.")
|
||||
return
|
||||
|
||||
if not login_response:
|
||||
print(f"[{datetime.now()}] Falha no login.")
|
||||
print(f"Aguardando {TEMPO_ESPERA_ERRO/60} minutos antes de tentar novamente...")
|
||||
time.sleep(TEMPO_ESPERA_ERRO)
|
||||
continue
|
||||
# Dados de login
|
||||
username = "daniel.rodrigue"
|
||||
password = "Iphone2513@"
|
||||
|
||||
# Enviar requisição final
|
||||
final_page_html = send_final_request(session, csrf_token, state_properties)
|
||||
code = extract_code_from_html(final_page_html)
|
||||
|
||||
if not code:
|
||||
print(f"[{datetime.now()}] Falha ao extrair código.")
|
||||
print(f"Aguardando {TEMPO_ESPERA_ERRO/60} minutos antes de tentar novamente...")
|
||||
time.sleep(TEMPO_ESPERA_ERRO)
|
||||
continue
|
||||
# Enviar requisição POST para login
|
||||
login_response = send_login_request(session, csrf_token, state_properties, username, password)
|
||||
|
||||
token = send_token_request(code, code_verifier)
|
||||
tokens = extract_tokens_2(token)
|
||||
|
||||
if tokens:
|
||||
access_token = tokens["access_token"]
|
||||
insert_token_to_db(access_token)
|
||||
print(f"[{datetime.now()}] Token obtido e salvo com sucesso!")
|
||||
print(f"Aguardando {TEMPO_ESPERA_SUCESSO/60} minutos antes da próxima atualização...")
|
||||
time.sleep(TEMPO_ESPERA_SUCESSO)
|
||||
else:
|
||||
print(f"[{datetime.now()}] Falha ao processar tokens.")
|
||||
print(f"Aguardando {TEMPO_ESPERA_ERRO/60} minutos antes de tentar novamente...")
|
||||
time.sleep(TEMPO_ESPERA_ERRO)
|
||||
if not login_response:
|
||||
print(f"[{datetime.now()}] Falha no login.")
|
||||
return
|
||||
|
||||
except Exception as e:
|
||||
print(f"[{datetime.now()}] Erro inesperado: {str(e)}")
|
||||
print(f"Aguardando {TEMPO_ESPERA_ERRO/60} minutos antes de tentar novamente...")
|
||||
time.sleep(TEMPO_ESPERA_ERRO)
|
||||
# Enviar requisição final
|
||||
final_page_html = send_final_request(session, csrf_token, state_properties)
|
||||
code = extract_code_from_html(final_page_html)
|
||||
|
||||
if not code:
|
||||
print(f"[{datetime.now()}] Falha ao extrair código.")
|
||||
return
|
||||
|
||||
token = send_token_request(code, code_verifier)
|
||||
tokens = extract_tokens_2(token)
|
||||
|
||||
if tokens:
|
||||
access_token = tokens["access_token"]
|
||||
insert_token_to_db(access_token)
|
||||
print(f"[{datetime.now()}] Token obtido e salvo com sucesso!")
|
||||
else:
|
||||
print(f"[{datetime.now()}] Falha ao processar tokens.")
|
||||
|
||||
except Exception as e:
|
||||
print(f"[{datetime.now()}] Erro inesperado: {str(e)}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main_loop()
|
||||
main()
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user