epp-client é uma biblioteca cliente escrita em Rust para registro e gerenciamento de domínios da Internet para registradores de domínio.
Ele suporta as seguintes chamadas básicas de gerenciamento de domínio, contato, host e mensagens, com planos para adicionar mais chamadas e outras extensões EPP no futuro e, eventualmente, ser compatível com RFC com o protocolo EPP.
Verificação de domínio
Criação de domínio
Informações do domínio
Atualização de domínio
Exclusão de domínio
Renovação de Domínio
Transferência de Domínio
Verificação de contato
Contato Criar
Informações de contato
Atualização de contato
Excluir contato
Verificação do anfitrião
Criar anfitrião
Informações do anfitrião
Atualização do anfitrião
Excluir anfitrião
Enquete de mensagens
Confirmação de mensagem
Solicitação de restauração RGP
Relatório de restauração RGP
Basta adicionar o seguinte ao Cargo.toml
do seu projeto
epp-client = " 0.4 "
Você pode criar uma variável mut do tipo EppClient
com a configuração do registro de domínio.
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 ) ) ;
}
A saída ficaria assim:
Domain: eppdev.com, Available: 1
Domain: eppdev.net, Available: 1
Atualmente não tenho acesso a uma conta OT&E de um registro para fazer testes extensivos. Estou usando o EPP Gateway da hexonet para testes, mas o acesso a uma conta OT&E de um registro seria muito útil, então se alguém pudesse me ajudar com uma, ficaria muito grato!