spaceworld 发表于 2013-3-18 11:26:40

vhms域名注册参考源代码

如何创建模块以及开发代码注意事项请参考该贴:
http://www.kanglesoft.com/thread-15814-1-1.html
<?php

function aiming_getConfigArray()
{
        $configarray = array(
                        "Userid" => array( "Type" => "text", "Size" => "40", "Description" => "UserID", ),
                        "UserPWD" => array( "Type" => "password", "Size" => "40", "Description" => "API Password", )
        );
        return $configarray;
}

function aiming_GetNameservers($params)
{
        $uid = $params["Userid"];
        $pwd = $params["UserPWD"];
        //$testmode = $params["TestMode"];
        $tld = $params["tld"];
        $sld = $params["sld"];
        $mode = "getinfo";
        $domainname = strtolower($params["sld"].".".$params["tld"]);
        $sign = md5(md5($uid).md5($pwd).md5($domainname));
        $url = 'mode='.$mode.'&domainname='.$domainname.'&userid='.$uid.'&sign='.$sign;
        $urlResult = PostData($url);
        $reStr = explode(" ",$urlResult);

        if ($reStr!="320") {
                # If error, return the error message in the value below
                $values["error"] = $urlResult;
        } else {
                # Put your code to get the nameservers here and return the values below
                $len = strlen($urlResult);
                $urlResult2 = substr($urlResult,4,$len-4);
                $infolist = explode(",",$urlResult2);
                $dns1info = explode(":",$infolist);
                $dns2info = explode(":",$infolist);
                $dns3info = explode(":",$infolist);
                $dns4info = explode(":",$infolist);
                $dns5info = explode(":",$infolist);
                $nameserver1 = $dns1info;
                $nameserver2 = $dns2info;
                $nameserver3 = $dns3info;
                $nameserver4 = $dns4info;
                $nameserver5 = $dns5info;
                $values["ns1"] = $nameserver1;
                $values["ns2"] = $nameserver2;
                $values["ns3"] = $nameserver3;
                $values["ns4"] = $nameserver4;
                $values["ns5"] = $nameserver5;
        }
        //$values["error"] = $error;
        return $values;
}

function aiming_SaveNameservers($params)
{
        $uid = $params["Userid"];
        $pwd = $params["UserPWD"];
        $tld = $params["tld"];
        $sld = $params["sld"];
        $domainname = strtolower($params["sld"].".".$params["tld"]);
        $nameserver1 = $params["ns1"];
        $nameserver2 = $params["ns2"];
        $nameserver3 = $params["ns3"];
        $nameserver4 = $params["ns4"];
        $nameserver5 = $params["ns5"];
        $mode = "modifydns";
        $domainname = strtolower($params["sld"].".".$params["tld"]);
        $sign = md5(md5($uid).md5($pwd).md5($domainname));
        $url = 'mode='.$mode.'&domainname='.$domainname.'&userid='.$uid.'&sign='.$sign."&dns1=".$nameserver1."&dns2=".$nameserver2."&dns3=".$nameserver3."&dns4=".$nameserver4."&dns5=".$nameserver5;
        # Put your code to save the nameservers here
        # If error, return the error message in the value below
        $rePostStr = PostData($url);
        $reStr = explode(" ",$rePostStr);
        if ($reStr != "600")        {
                $values["error"] = $rePostStr;
        }
        return $values;
}
/**
域名注册
*/
function aiming_RegisterDomain($params)
{
        $mode = "reg";
        $uid = strtolower($params["Userid"]);
        $pwd = strtolower($params["UserPWD"]);
        $domain = strtolower($params["sld"].".".$params["tld"]);
        $sign = md5(md5($uid).md5($pwd).md5($domain));
        $city = urlencode(strtolower($params["city"]));
        $email = strtolower($params["email"]);
        $fax = strtolower($params["phonenumber"]);
        $fname = urlencode(strtolower($params["firstname"]));
        $lname = urlencode(strtolower($params["lastname"]));
        $fnameE = strtolower($params["firstname"]);
        $lnameE = strtolower($params["lastname"]);
        $phone = strtolower($params["phonenumber"]);
        $province = urlencode(strtolower($params["state"]));
        $zipcode = strtolower($params["postcode"]);
        $street = urlencode(strtolower($params["address1"]." ".$params["address2"]));
        $streetE = strtolower($params["address1"]." ".$params["address2"]);
        $org = urlencode(strtolower($params["companyname"]));
        $orgE = strtolower($params["companyname"]);
        $ns1 = strtolower($params["ns1"]);
        $ns2 = strtolower($params["ns2"]);
        $year = strtolower($params["regperiod"]);
        $url = 'mode='.$mode.'&domainname='.$domain.'&userid='.$uid.'&sign='.$sign."&city=".$city."&email=".$email."&fax=".$fax."&lname=".$lname."&fname=".$fname."&fnameE=".$fnameE."&lnameE=".$lnameE."&phone=".$phone."&province=".$province."&zipcode=".$zipcode."&street=".$street."&streetE=".$streetE."&org=".$org."&orgE=".$orgE."&ns1=".$ns1."&ns2=".$ns2."&year=".$year;
        $UrlReStr = PostData($url);
        $reStr = explode(" ",$UrlReStr);
        if ($reStr != "300") {
                $values["error"] =$UrlReStr;
        }
        return $values;
}


/**
* 未实现
* @param unknown_type $params
* @return string
*/
function aiming_TransferDomain($params)
{
        $mode="transferin";
        $uid=strtolower($params["Userid"]);
        $pwd=strtolower($params["UserPWD"]);
        $domain=strtolower($params["sld"].".".$params["tld"]);
        $sign=md5(md5($uid).md5($pwd).md5($domain));
        $domainpwd = $params["transfersecret"];

        # Registrant Details
        $fname = urlencode($params["firstname"]);
        $lname = urlencode($params["lastname"]);
        $street = urlencode($params["address1"]." ".$params["address2"]);
        $city = urlencode($params["city"]);
        $province = urlencode($params["state"]);
        $zipcode = $params["postcode"];
        $email = $params["email"];
        $phone = $params["phonenumber"];
        $fax = $phone;
        $org = $fname." ".$lname;
        $year = $params["regperiod"];

        $url='mode='.$mode.'&domainname='.$domain."&domainpwd=".$domainpwd.'&userid='.$uid.'&sign='.$sign."&city=".$city
        ."&email=".$email."&fax=".$fax."&lname=".$lname."&fname=".$fname."&phone=".$phone
        ."&province=".$province."&zipcode=".$zipcode."&street=".$street."&org=".$org."&orgE=".$org
        ."&year=".$year;
        $UrlReStr=PostData($url);
        $reStr=explode(" ",$UrlReStr);
        if($reStr!="700")
        {
                $values["error"] = $UrlReStr;
        }
        return $values;
}

/**
域名续费
*/
function aiming_RenewDomain($params)
{
        $mode = "renew";
        $uid = strtolower($params["Userid"]);
        $pwd = strtolower($params["UserPWD"]);
        $domain = strtolower($params["sld"].".".$params["tld"]);
        $sign = md5(md5($uid).md5($pwd).md5($domain));
        $year = strtolower($params["regperiod"]);
        $url = 'mode='.$mode.'&domainname='.$domain.'&userid='.$uid.'&sign='.$sign."&year=".$year;
        $UrlReStr = PostData($url);
        $reStr = explode(" ",$UrlReStr);
        if ($reStr!="500") {
                $values["error"] = $UrlReStr;
        }
        return $values;
}
/**
* 域名联系人详细信息
* @param array $params
* @return multitype:string
*/
function aiming_GetContactDetails($params)
{
        $values["Registrant"]=array(
                        "fname" => "",
                        "lname" => "",
                        "street" => ""." "."",
                        "city" => "",
                        "province" => "",
                        "zipcode" => "",
                        "email" => "",
                        "phone"=> "",
                        "fax" => "",
                        "org" => ""." "."",
        );
        return $values;
}
/**
* 保存域名注册人资料
* @param unknown_type $params
* @return boolean|string
*/
function aiming_SaveContactDetails($params)
{
        $mode = "modify";
        $uid = strtolower($params["Userid"]);
        $pwd = strtolower($params["UserPWD"]);
        $domain = strtolower($params["sld"].".".$params["tld"]);
        $sign = md5(md5($uid).md5($pwd).md5($domain));

        # Registrant Details
        $fname = urlencode($params["contactdetails"]["Registrant"]["fname"]);
        $lname = urlencode($params["contactdetails"]["Registrant"]["lname"]);
        $street = urlencode($params["contactdetails"]["Registrant"]["street"]);
        $city = urlencode($params["contactdetails"]["Registrant"]["city"]);
        $province = urlencode($params["contactdetails"]["Registrant"]["province"]);
        $zipcode = $params["contactdetails"]["Registrant"]["zipcode"];
        $email = $params["contactdetails"]["Registrant"]["email"];
        $phone = $params["contactdetails"]["Registrant"]["phone"];
        $fax = $params["contactdetails"]["Registrant"]["fax"];
        $org = urlencode($params["contactdetails"]["Registrant"]["org"]);
        $url = 'mode='.$mode.'&domainname='.$domain.'&userid='.$uid.'&sign='.$sign."&city=".$city
        ."&email=".$email."&fax=".$fax."&lname=".$lname."&fname=".$fname."&phone=".$phone
        ."&lnameE=".$lname."&fnameE=".$fname
        ."&province=".$province."&zipcode=".$zipcode."&street=".$street."&streetE=".$street."&org=".$org
        ."&orgE=".$org;

        $urlResult = PostData($url);
        $reStr = explode(" ",$urlResult);
        if ($reStr!="800") {
                $values["error"] = $urlResult;
        }
        return $values;
}

function aiming_GetDns($params)
{
        $uid = $params["Userid"];
        $pwd = $params["UserPWD"];
        //$testmode = $params["TestMode"];
        $tld = $params["tld"];
        $sld = $params["sld"];
        $mode = "getpwd";
        $domainname = strtolower($params["sld"].".".$params["tld"]);
        $sign = md5(md5($uid).md5($pwd).md5($domainname));
        $url = 'mode='.$mode.'&domainname='.$domainname.'&userid='.$uid.'&sign='.$sign;
        $urlResult = PostData($url);
        $reStr = explode(" ",$urlResult);
        if ($reStr!="325") {
                echo $urlResult;
                exit;
        }
        $domainandpw = explode(":",$reStr);
        $domainpwd = $domainandpw;
        $everdnsurl = "http://www.everdns.com?domain=".$domainname."&pwd=".$domainpwd;
        if (isset($everdnsurl)) {
                Header("HTTP/1.1 303 See Other");
                Header("Location: $everdnsurl");
                exit;
        }
}
/**
* 未实现
* @param unknown_type $params
* @return multitype:boolean unknown string
*/
function aiming_TransferSync($params)
{
        $uid=strtolower($params["Userid"]);
        $pwd=strtolower($params["UserPWD"]);
        $domainid = $params['domainid'];
        $domain = $params['domain'];
        $sld =$params['sld'];
        $tld =$params['tld'];
        $registrar = $params['registrar'];
        $regperiod = $params['regperiod'];
        $status = $params['status'];
        $dnsmanagement = $params['dnsmanagement'];
        $emailforwarding = $params['emailforwarding'];
        $idprotection = $params['idprotection'];

        $mode = "chktransfer";
        $domainname=strtolower($params["sld"].".".$params["tld"]);
        $sign=md5(md5($uid).md5($pwd).md5($domainname));
        $url='mode='.$mode.'&domainname='.$domainname.'&userid='.$uid.'&sign='.$sign;
        $urlResult=PostData($url);
        $reStr=explode(" ",$urlResult);
        $values = array();
        if($reStr=="1000")
        {
                $values['completed'] = true;
                $mode = "getinfo";
                $sign=md5(md5($uid).md5($pwd).md5($domainname));
                $url='mode='.$mode.'&domainname='.$domainname.'&userid='.$uid.'&sign='.$sign;
                $urlResult=PostData($url);
                $reStr=explode(" ",$urlResult);
                if($reStr=="320")
                {
                        $len=strlen($urlResult);
                        $urlResult2=substr($urlResult,4,$len-4);
                        $infolist=explode(",",$urlResult2);

                        $regtimeinfo=explode(" ",$infolist);
                        $reginfo =explode(":",$regtimeinfo);
                        $regdate = $reginfo;
                        $Newregdate = date('Y-m-d', strtotime($regdate));
                        $values['registrationdate'] = $Newregdate;

                        $exptimeinfo=explode(" ",$infolist);
                        $expinfo =explode(":",$exptimeinfo);
                        $expirydate = $expinfo;
                        $Newexpirydate = date('Y-m-d', strtotime($expirydate));
                        $values['expirydate'] = $Newexpirydate;
                        $values['nextduedate'] = $Newexpirydate;

                }else{
                        $values['error'] = $urlResult;
                }
        }
        else if($reStr=="1003")
        {
                $values['failed'] = true;
                $values['reason'] = $urlResult;
        }
        else
        {
                $values['error'] = $urlResult;
        }
        return $values;
}
/**
* 未实现
* @param unknown_type $params
* @return Ambigous <string, unknown>
*/
function aiming_Sync($params)
{
        $uid = strtolower($params["Userid"]);
        $pwd =strtolower($params["UserPWD"]);
        $domainid = $params['domainid'];
        $domain = $params['domain'];
        $sld =$params['sld'];
        $tld =$params['tld'];
        $registrar = $params['registrar'];
        $regperiod = $params['regperiod'];
        $status = $params['status'];
        $dnsmanagement = $params['dnsmanagement'];
        $emailforwarding = $params['emailforwarding'];
        $idprotection = $params['idprotection'];
        $mode = "getinfo";
        $domainname = strtolower($params["sld"].".".$params["tld"]);
        $sign = md5(md5($uid).md5($pwd).md5($domainname));
        $url = 'mode='.$mode.'&domainname='.$domainname.'&userid='.$uid.'&sign='.$sign;
        $urlResult = PostData($url);
        $reStr = explode(" ",$urlResult);
        if ($reStr == "320") {
                $len = strlen($urlResult);
                $values['active'] = true;
                $urlResult2 = substr($urlResult,4,$len-4);
                $infolist = explode(",",$urlResult2);

                $regtimeinfo = explode(" ",$infolist);
                $reginfo =explode(":",$regtimeinfo);
                $regdate = $reginfo;
                $Newregdate = date('Y-m-d', strtotime($regdate));
                $values['registrationdate'] = $Newregdate;

                $exptimeinfo = explode(" ",$infolist);
                $expinfo = explode(":",$exptimeinfo);
                $expirydate = $expinfo;
                $Newexpirydate = date('Y-m-d', strtotime($expirydate));
                $values['expirydate'] = $Newexpirydate;
                $values['nextduedate'] = $Newexpirydate;
        }else{
                $values['error'] = $urlResult;
        }
        return $values;
}

function PostData($params)
{
        //构造要post的字符串
        $length = strlen($params);
        //以下参数请按最终 API 发布地址进行修改
        $apiHost = "api.22.cn";
        $apiPort = 80;
        $apiUrl = "/OpenAPI.aspx";
        $fp = fsockopen($apiHost,$apiPort,$errno,$errstr,10) or exit($errstr."--->".$errno);
        //构造post请求的头
        $header = "POST ". $apiUrl . " HTTP/1.1\r\n";
        $header .= "Host:" . $apiHost . "\r\n";
        $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
        $header .= "Content-Length: ".$length."\r\n";
        $header .= "Connection: Close\r\n\r\n";
        //添加post的字符串
        $header .= $params."\r\n";
        //发送post的数据
        fputs($fp,$header);
        $inheader = 1;
        $ret="";
        while (!feof($fp)) {
                //去除请求包的头只显示页面的返回数据
                $line = fgets($fp,1024);
                if ($inheader && ($line == "\n" || $line == "\r\n")) {
                        $inheader = 0;
                }
                if ($inheader == 0) {
                        $ret.=$line;
                }
        }
       
        fclose($fp);
        //$ret = iconv("GB2312","UTF-8",$ret);
        //$ret = iconv("UTF-8","GB2312",$ret);
        return $ret;
}


?>

leo.shi 发表于 2013-3-18 11:51:24

注册源码

管理的呢

duanzhanling 发表于 2013-3-18 13:29:48

呵呵 这个不错呢^

stick 发表于 2013-3-18 23:07:57

做个name.com的吧
我刚申请了name.com的api

pop 发表于 2013-3-26 17:38:30

1API的建议增加

kemoduo 发表于 2013-6-8 12:56:55

Resell.BIZ 的 增加吧~

覆雨翻云 发表于 2013-7-26 20:28:21

增加易名吧

/gw________◆致 发表于 2014-1-27 22:47:45

域名对接成功后开通了 在后台无法管理域名

uuvvuu 发表于 2014-2-14 14:52:17

看不明白呀,能不能在说详细点,我想跟新网和万网的域名注册接口。

零℃科技 发表于 2014-7-20 06:45:23

我想问 我不想做域名注册是不是把这些代码删了
页: [1] 2
查看完整版本: vhms域名注册参考源代码