Référence Développeur
Similarité de Domaine
Consultez la documentation de l'API Similarité de Domaine, ses paramètres de requête, les champs de réponse, les exemples de code et la gestion des erreurs pour les intégrations DomScan.
Similarité de Domaine
Comparez deux domaines pour leur similarité visuelle et textuelle en utilisant plusieurs algorithmes, notamment la distance de Levenshtein, la similarité de Jaro-Winkler et l'analyse visuelle des homoglyphes. Essentiel pour détecter le typosquattage, l'usurpation de marque et les domaines de phishing.
GET
/v1/similarity
Paramètres de Requête
| Paramètre | Type | Description |
|---|---|---|
| domain1 requis | string | Premier domaine (généralement le domaine légitime) |
| domain2 requis | string | Deuxième domaine (domaine potentiellement suspect) |
Algorithmes de Similarité
| Algorithme | Description |
|---|---|
levenshtein | Distance d'édition normalisée (0-1) |
jaro_winkler | Similarité de chaîne pondérée par préfixe |
visual | Détection de caractères homoglyphes/ressemblants |
Exemple de Requête
curl -H "X-API-Key: your-api-key" "https://domscan.net/v1/similarity?domain1=paypal.com&domain2=paypa1.com"
import requests
domscan = requests.Session()
domscan.headers.update({"X-API-Key": "your-api-key"})
# Check multiple suspicious domains
legit = "paypal.com"
suspects = ["paypa1.com", "paypaI.com", "pаypal.com"] # Note: last one has Cyrillic 'а'
for suspect in suspects:
response = domscan.get(
"https://domscan.net/v1/similarity",
params={"domain1": legit, "domain2": suspect}
)
data = response.json()
print(f"{suspect}: {data['typosquatting_risk']} risk (visual: {data['similarity']['visual']:.2f})")
Exemple de Réponse
{
"domain1": "paypal.com",
"domain2": "paypa1.com",
"similarity": {
"levenshtein": 0.86,
"jaro_winkler": 0.93,
"visual": 0.95
},
"is_similar": true,
"typosquatting_risk": "high",
"homoglyphs_detected": ["l → 1"],
"risk_factors": ["character_substitution", "high_visual_similarity"]
}
Champs de Réponse
| Champ | Type |
|---|---|
domain1 |
string |
domain2 |
string |
similarity_score |
number |
visual_similarity |
number |
textual_similarity |
number |
is_confusable |
boolean |
risk_level |
string |