epp-client — это клиентская библиотека, написанная на Rust для регистрации и управления доменами в Интернете для регистраторов доменов.
Он поддерживает следующие базовые вызовы управления доменом, контактами, хостом и сообщениями, при этом в будущем планируется добавить больше вызовов и других расширений EPP и в конечном итоге обеспечить совместимость RFC с протоколом EPP.
Проверка домена
Создать домен
Информация о домене
Обновление домена
Удаление домена
Продление домена
Перенос домена
Проверка контактов
Контакт Создать
Контактная информация
Обновление контактов
Контакт Удалить
Проверка хоста
Хост Создать
Информация о хосте
Обновление хоста
Удаление хоста
Опрос сообщений
Подтверждение сообщения
Запрос на восстановление RGP
Отчет о восстановлении RGP
Просто добавьте следующее в Cargo.toml
вашего проекта:
epp-client = " 0.4 "
Вы можете создать переменную mut типа EppClient
с конфигурацией реестра домена.
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 ) ) ;
}
Вывод будет выглядеть так:
Domain: eppdev.com, Available: 1
Domain: eppdev.net, Available: 1
В настоящее время у меня нет доступа к учетной записи OT&E реестра для проведения обширного тестирования. Для тестирования я использую шлюз EPP компании Hexonet, но доступ к учетной записи OT&E реестра был бы очень полезен, поэтому, если бы кто-нибудь мог помочь мне с ним, я был бы очень благодарен!