epp-client est une bibliothèque client écrite en Rust pour l'enregistrement et la gestion de domaines Internet pour les bureaux d'enregistrement de domaines.
Il prend en charge les appels de base suivants pour la gestion des domaines, des contacts, des hôtes et des messages, avec des plans pour ajouter davantage d'appels et d'autres extensions EPP à l'avenir, et pour éventuellement être conforme aux RFC avec le protocole EPP.
Vérification du domaine
Créer un domaine
Informations sur le domaine
Mise à jour du domaine
Suppression de domaine
Renouveler le domaine
Transfert de domaine
Vérification des contacts
Contacter Créer
Coordonnées
Mise à jour des contacts
Contacter Supprimer
Vérification de l'hôte
Créer un hôte
Informations sur l'hôte
Mise à jour de l'hôte
Supprimer l'hôte
Sondage de messages
Accusé de réception du message
Demande de restauration RGP
Rapport de restauration RGP
Ajoutez simplement ce qui suit au Cargo.toml
de votre projet
epp-client = " 0.4 "
Vous pouvez créer une variable mut de type EppClient
avec la configuration du registre de domaine.
use std :: net :: ToSocketAddrs ;
use std :: time :: Duration ;
use epp_client :: EppClient ;
use epp_client :: domain :: DomainCheck ;
use epp_client :: login :: Login ;
# [ tokio :: main ]
async fn main ( ) {
// Create an instance of EppClient
let host = "example.com" ;
let addr = ( host , 700 ) . to_socket_addrs ( ) . unwrap ( ) . next ( ) . unwrap ( ) ;
let timeout = Duration :: from_secs ( 5 ) ;
let mut client = match EppClient :: connect ( "registry_name" . to_string ( ) , addr , host , None , timeout ) . await {
Ok ( client ) => client ,
Err ( e ) => panic ! ( "Failed to create EppClient: {}" , e )
} ;
let login = Login :: new ( "username" , "password" , None ) ;
client . transact ( & login , "transaction-id" ) . await . unwrap ( ) ;
// Execute an EPP Command against the registry with distinct request and response objects
let domain_check = DomainCheck { domains : & [ "eppdev.com" , "eppdev.net" ] } ;
let response = client . transact ( & domain_check , "transaction-id" ) . await . unwrap ( ) ;
response . res_data . unwrap ( ) . list
. iter ( )
. for_each ( |chk| println ! ( "Domain: {}, Available: {}" , chk . id , chk . available ) ) ;
}
Le résultat ressemblerait à ceci :
Domain: eppdev.com, Available: 1
Domain: eppdev.net, Available: 1
Actuellement, je n'ai pas accès au compte OT&E d'un registre pour effectuer des tests approfondis. J'utilise la passerelle EPP d'hexonet pour les tests, mais l'accès au compte OT&E d'un registre serait très utile, donc si quelqu'un pouvait m'aider avec un, je serais très reconnaissant !