epp client
1.0.0
epp-client 是一个用 Rust 编写的客户端库,用于域名注册商的互联网域名注册和管理。
它支持以下基本域、联系人、主机和消息管理调用,并计划在未来添加更多调用和其他 EPP 扩展,并最终实现与 EPP 协议的 RFC 兼容。
域名检查
域创建
域名信息
域名更新
域删除
域名续订
域名转移
接触检查
联系创建
联系方式
联系方式更新
联系方式 删除
主机检查
主机创建
主机信息
主机更新
主机删除
留言调查
消息确认
RGP 恢复请求
RGP 恢复报告
只需将以下内容添加到项目的Cargo.toml
中
epp-client = " 0.4 "
您可以使用域注册表配置创建EppClient
类型的 mut 变量。
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 帐户来进行广泛的测试。我正在使用 hexonet 的 EPP 网关进行测试,但是访问注册表的 OT&E 帐户将非常有帮助,因此如果有人可以帮助我解决这个问题,我将非常感激!