gpt4 book ai didi

xml - 连接到域注册 EPP 服务器

转载 作者:太空宇宙 更新时间:2023-11-03 13:28:57 25 4
gpt4 key购买 nike

我正在学习,需要一些指导和一小段连接到 epp 服务器的代码示例。代码示例需要登录并发送一个命令并接收响应。(在 XML 中)。代码可以是 php 或 python。

我相信这将为我进一步深入研究和了解有关该主题的更多信息奠定基础/启动。这让我难以自拔 - 这是一种很好的方式,因为我想在一天或一千天内解决它。

我已经搜索了几天,但似乎无法理解所找到的信息,并且现在选择在这里寻求指导。

提前谢谢你。

最佳答案

这是示例 php 脚本

<?php


class Epp
{

var $socket;

public function __construct()
{
}


private $_connected = false;

function connect($host, $port = 700, $timeout = 1, $ssl = true)
{
if ($this->_connected)
return true;
$target = sprintf('%s://%s', ($ssl === true ? 'ssl' : 'tcp'), $host);
$socket = fsockopen($target, $port, $errno, $errstr, $timeout);
if (!$socket) {
return new PEAR_Error("Error connecting to $target: $errstr (code $errno)");
} else {
$this->socket = $socket;
$this->_connected = true;
return $this->getFrame();
}
}


function getFrame()
{
if (feof($this->socket))
return new PEAR_Error("Connection appears to have closed.");
$hdr = @fread($this->socket, 4);
if (empty($hdr)) {
return new PEAR_Error("Error reading from server: $php_errormsg");
} else {
$unpacked = unpack('N', $hdr);
$answer = fread($this->socket, ($unpacked[1] - 4));
return $answer;
}
}

function sendFrame($xml)
{
return @fwrite($this->socket, pack('N', (strlen($xml) + 4)) . $xml);
}

function disconnect()
{
return @fclose($this->socket);
}

}

?>

还有4个函数,connect, getFrame, sendFrame, disconnect。Epp 协议(protocol)的工作原理如下。首先,您必须连接到服务器。

向服务器发送 xml 请求并从服务器接收 xml 响应。

首先你必须登录到服务器。为此,您必须将登录 xml 发送到服务器。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0
epp-1.0.xsd">
<command>
<login>
<clID><?php echo $username;?></clID>
<pw><?php echo $password;?></pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<svcExtension>

</svcExtension>
</svcs>
</login>
<clTRID>12345</clTRID>
</command>
</epp>

所有请求和响应都是 xml 。你可以从这个网站找到 xmls https://www.rfc-editor.org/rfc/rfc5732

关于xml - 连接到域注册 EPP 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11351516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com