/home2/mshostin/.trash/checker.py
import requests
import csv
from datetime import datetime
# --- Nom du fichier source contenant les tests ---
fichier_source = "donnees_test.csv"
# --- Nom du fichier CSV de sortie ---
fichier_log = f"rapport_connexion_{datetime.now().strftime('%Y%m%d_%H%M%S')}.csv"
print(f"\nChargement des données depuis {fichier_source}...\n")
# Charger les données depuis le fichier externe
tests = []
with open(fichier_source, mode="r", encoding="utf-8") as file:
reader = csv.reader(file)
for row in reader:
if len(row) != 3:
print(f"Ligne ignorée (format incorrect) : {row}")
continue
site, login, password = row
tests.append({
"site": site.strip(),
"login": login.strip(),
"password": password.strip()
})
# Création du fichier CSV de log
with open(fichier_log, mode="w", newline="", encoding="utf-8") as file:
writer = csv.writer(file)
writer.writerow(["Site", "Login", "Password", "Status", "HTTP_Code"])
print("=== DÉBUT DES TESTS ===\n")
# Traitement des tests
for test in tests:
url = test["site"]
data = {"username": test["login"], "password": test["password"]}
print(f"Test → {test['login']} @ {url}")
try:
response = requests.post(url, data=data)
http_code = response.status_code
if http_code == 200:
status = "OK"
print(f" ✓ Réussi")
else:
status = "FAIL"
print(f" ✗ Échec (code {http_code})")
except Exception as e:
status = f"ERREUR: {e}"
http_code = None
print(f" ⚠️ Erreur : {e}")
# Log CSV
with open(fichier_log, mode="a", newline="", encoding="utf-8") as file:
writer = csv.writer(file)
writer.writerow([url, test["login"], test["password"], status, http_code])
print(f"\n=== FIN DES TESTS ===\nRapport généré : {fichier_log}\n")