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 帳戶將非常有幫助,因此如果有人可以幫助我解決這個問題,我將非常感激!