6个版本 (3个重大更新)

0.4.0 2024年6月10日
0.3.0 2024年5月27日
0.2.2 2024年3月25日
0.2.1 2024年1月8日
0.1.0 2023年10月26日

#551网络编程

Download history 169/week @ 2024-04-14 97/week @ 2024-04-21 60/week @ 2024-04-28 98/week @ 2024-05-05 105/week @ 2024-05-12 48/week @ 2024-05-19 280/week @ 2024-05-26 111/week @ 2024-06-02 254/week @ 2024-06-09 56/week @ 2024-06-16 101/week @ 2024-06-23 125/week @ 2024-06-30 65/week @ 2024-07-07 39/week @ 2024-07-14 34/week @ 2024-07-28

每月下载 139

MIT 许可证

215KB
5K SLoC

Cover logo

异步Rust的EPP客户端库

Documentation Crates.io Build status License: MIT

描述

instant-epp是一个用Rust编写的客户端库,用于域名注册和管理,适用于域名注册商。我们实现了以下标准的支持

此库在Instant Domains的生产环境中使用。

历史

instant-epp最初由@masalachai在2021年夏天以epp-client的形式创建。到秋天,Instant Domains的员工开始为该项目做出贡献。2023年2月,在中间几年中,epp-client的大部分贡献都来自Instant Domains之后,我们决定分叉该项目,在此过程中,用instant-xml替换其对quick-xml的依赖。感谢@masalachai启动epp-client!

入门

您可以使用域名注册配置创建一个类型为EppClient的可变变量。

use std::collections::HashMap;
use std::net::ToSocketAddrs;
use std::time::Duration;

use instant_epp::EppClient;
use instant_epp::domain::DomainCheck;
use instant_epp::common::NoExtension;

#[tokio::main]
async fn main() {
    // Create an instance of EppClient
    let timeout = Duration::from_secs(5);
    let mut client = match EppClient::connect("registry_name".to_string(), ("example.com".to_owned(), 7000), None, timeout).await {
        Ok(client) => client,
        Err(e) => panic!("Failed to create EppClient: {}",  e)
    };

    // Make a EPP Hello call to the registry
    let greeting = client.hello().await.unwrap();
    println!("{:?}", greeting);

    // 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.inner.id, chk.inner.available));
}

输出将如下所示

Domain: eppdev.com, Available: 1
Domain: eppdev.net, Available: 1

依赖项

~4–15MB
~185K SLoC