initial commit
This commit is contained in:
113
diagnostic.py
Normal file
113
diagnostic.py
Normal file
@@ -0,0 +1,113 @@
|
||||
"""
|
||||
Script de diagnostic pour tester la connexion à LibreHardwareMonitor
|
||||
"""
|
||||
import socket
|
||||
import urllib.request
|
||||
import sys
|
||||
|
||||
print("=" * 60)
|
||||
print("DIAGNOSTIC DE CONNEXION À LIBREHARDWAREMONITOR")
|
||||
print("=" * 60)
|
||||
|
||||
# Test 1: Résolution DNS de localhost
|
||||
print("\n[1] Résolution DNS de 'localhost'...")
|
||||
try:
|
||||
ip = socket.gethostbyname('localhost')
|
||||
print(f" ✅ localhost résolu en: {ip}")
|
||||
except Exception as e:
|
||||
print(f" ❌ Erreur: {e}")
|
||||
|
||||
# Test 2: Vérifier toutes les adresses pour localhost
|
||||
print("\n[2] Toutes les adresses pour 'localhost'...")
|
||||
try:
|
||||
infos = socket.getaddrinfo('localhost', 8085)
|
||||
for info in infos:
|
||||
print(f" → {info[0].name}: {info[4]}")
|
||||
except Exception as e:
|
||||
print(f" ❌ Erreur: {e}")
|
||||
|
||||
# Test 3: Connexion socket directe sur 127.0.0.1
|
||||
print("\n[3] Test connexion socket sur 127.0.0.1:8085...")
|
||||
try:
|
||||
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
sock.settimeout(5)
|
||||
result = sock.connect_ex(('127.0.0.1', 8085))
|
||||
sock.close()
|
||||
if result == 0:
|
||||
print(" ✅ Port 8085 ouvert sur 127.0.0.1")
|
||||
else:
|
||||
print(f" ❌ Port fermé (code: {result})")
|
||||
except Exception as e:
|
||||
print(f" ❌ Erreur: {e}")
|
||||
|
||||
# Test 4: Connexion socket directe sur localhost
|
||||
print("\n[4] Test connexion socket sur localhost:8085...")
|
||||
try:
|
||||
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
sock.settimeout(5)
|
||||
result = sock.connect_ex(('localhost', 8085))
|
||||
sock.close()
|
||||
if result == 0:
|
||||
print(" ✅ Port 8085 ouvert sur localhost")
|
||||
else:
|
||||
print(f" ❌ Port fermé (code: {result})")
|
||||
except Exception as e:
|
||||
print(f" ❌ Erreur: {e}")
|
||||
|
||||
# Test 5: Requête HTTP avec urllib (sans requests)
|
||||
print("\n[5] Test HTTP avec urllib sur 127.0.0.1...")
|
||||
try:
|
||||
req = urllib.request.urlopen('http://127.0.0.1:8085/data.json', timeout=5)
|
||||
data = req.read()
|
||||
print(f" ✅ Réponse reçue! ({len(data)} bytes)")
|
||||
print(f" Début: {data[:100]}...")
|
||||
except Exception as e:
|
||||
print(f" ❌ Erreur: {e}")
|
||||
|
||||
# Test 6: Requête HTTP avec urllib sur localhost
|
||||
print("\n[6] Test HTTP avec urllib sur localhost...")
|
||||
try:
|
||||
req = urllib.request.urlopen('http://localhost:8085/data.json', timeout=5)
|
||||
data = req.read()
|
||||
print(f" ✅ Réponse reçue! ({len(data)} bytes)")
|
||||
except Exception as e:
|
||||
print(f" ❌ Erreur: {e}")
|
||||
|
||||
# Test 7: Requête avec requests (si disponible)
|
||||
print("\n[7] Test HTTP avec requests sur 127.0.0.1...")
|
||||
try:
|
||||
import requests
|
||||
resp = requests.get('http://127.0.0.1:8085/data.json', timeout=5)
|
||||
print(f" ✅ Réponse reçue! Status: {resp.status_code}, {len(resp.content)} bytes")
|
||||
except ImportError:
|
||||
print(" ⚠️ Module requests non installé")
|
||||
except Exception as e:
|
||||
print(f" ❌ Erreur: {e}")
|
||||
|
||||
# Test 8: Requête avec requests sur localhost
|
||||
print("\n[8] Test HTTP avec requests sur localhost...")
|
||||
try:
|
||||
import requests
|
||||
resp = requests.get('http://localhost:8085/data.json', timeout=5)
|
||||
print(f" ✅ Réponse reçue! Status: {resp.status_code}")
|
||||
except ImportError:
|
||||
print(" ⚠️ Module requests non installé")
|
||||
except Exception as e:
|
||||
print(f" ❌ Erreur: {e}")
|
||||
|
||||
print("\n" + "=" * 60)
|
||||
print("RECOMMANDATION:")
|
||||
print("=" * 60)
|
||||
print("""
|
||||
Si les tests 3-4 échouent mais que le navigateur fonctionne:
|
||||
→ Vérifiez le pare-feu Windows (autorisez Python)
|
||||
|
||||
Si les tests avec 127.0.0.1 réussissent mais localhost échoue:
|
||||
→ Problème IPv6, utilisez 127.0.0.1 dans la config
|
||||
|
||||
Si tout échoue sauf le navigateur:
|
||||
→ Un proxy ou antivirus bloque peut-être Python
|
||||
→ Essayez de désactiver temporairement l'antivirus
|
||||
""")
|
||||
|
||||
input("\nAppuyez sur Entrée pour fermer...")
|
||||
Reference in New Issue
Block a user