7个版本 (重大变更)
0.7.0 | 2024年7月29日 |
---|---|
0.5.0 | 2022年11月29日 |
0.4.0 | 2022年7月26日 |
0.3.1 | 2021年11月18日 |
0.1.2 | 2021年7月26日 |
#1556 in 网络编程
每月139次下载
180KB
4K SLoC
域名注册和管理可扩展配置协议(EPP)库
描述
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账户将非常有帮助,因此如果有人能提供这样的账户,我将不胜感激!
依赖项
~13-24MB
~417K SLoC