中文版

用API可以进行域名抢注和帐户管理!我们的API支持域名搜索、注册、续费、删除、使用自己的软件和服务器等。 你可以很容易地设置域名服务器,选择续费,并为您的域名创建文件夹。

1、签名方法

签名生成的通用步骤如下:

第一步,设所有发送的数据为集合M,将集合M内所有参数按照参数名ASCII码从小到大排序(字典序),参数值去除两边空格,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。

特别注意以下重要规则:

◆ 参数名ASCII码从小到大排序(字典序);

◆ 参数名区分大小写;

◆ 参数值需要进行URLEncode编码;

◆ 接口可能增加字段,验证签名时必须支持增加的扩展字段

第二步,在stringA最后拼接上key得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,再将得到的字符串所有字符转换为大写,得到gntoken值。

◆ APPKEY 设置路径:平台-->用户中心-->经销商-->API设置

 

2、生成签名串

假设传送的参数如下,以PHP代码为例:

$params = array (
  'appid' => 'APPID',
  'gntime' => 1234567890,
  'ym' => 'gname.com',
  'url' => 'https://www.gname.com'
);

第一步:对参数按照key=value的格式,key按照ASCII字典序,value值需要进行URLEncode编码,字符串如下:

$stringA = "appid=APPID&gntime=1234567890&url=https%3A%2F%2Fwww.gname.com&ym=gname.com";

第二步:拼接APPKEY:

$appkey  = "APPKEY" //注:appkey
$stringB = "appid=APPID&gntime=1234567890&url=https%3A%2F%2Fwww.gname.com&ym=gname.comAPPKEY";

//注:MD5签名方式 并转成大写
$gntoken = strtoupper(md5($stringB)); //B48D34C9A15A3F33ED61396E5BD8F1F8

 

以下是我们以PHP为例的Demo

 //Curl Post
function getHttpResponsePOST($url,$para) {

	$curl = curl_init($url);
	//SSL
	if(substr($url, 0, 8)=== 'https://'){
		curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
		curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
	}
	curl_setopt($curl, CURLOPT_HEADER, 0 );
	curl_setopt($curl, CURLOPT_HTTPHEADER, [
        'Content-Type: application/x-www-form-urlencoded'
    ]);
	curl_setopt($curl,CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($curl,CURLOPT_POST,true); 
	curl_setopt($curl,CURLOPT_POSTFIELDS,http_build_query($para));
	$responseText = curl_exec($curl);
	curl_close($curl);
	
	return $responseText;
}

//All elements of the array are concatenated into strings with "&" characters according to the mode of "parameter=parameter value", and the strings are urlencoded
function createLinkstringUrlencode($para,$char="&") {
	
	$arg  = "";
	if($para){
		ksort($para);
		$params = [];
		foreach($para as $key=>$val){
			$params[]=$key."=".urlencode($val);
		}
		$arg = implode($char,$params);
	}

	return $arg;
}

//Sign
function md5Sign($prestr, $key) {
	$signstr = $prestr . $key;
	return strtoupper(md5($signstr));
}

//sign verify
function md5Verify($prestr, $sign, $key) {
	$mysgin = md5Sign($prestr,$key);

	if($mysgin == $sign) {
		return true;
	}
	else {
		return false;
	}
}

//UTC+8 timestamp
function getTimeStamp($datetime){

	$target_timezone = 'Asia/Singapore';
	$system_timezone = date('e'); 
	date_default_timezone_set($target_timezone); 
	$timestamp = strtotime($datetime); 
	date_default_timezone_set($system_timezone);

	return $timestamp;
}


$appid="YOUR_APPID";
$appkey = "YOUR_APPSECRET";
$apiHost = "API HOST";
$endPoint="api/domain/dns";

$data['appid'] = $appid;
$data['gntime'] = time();
$data['ym']="example.com";
$data['dns']="ns1.gname-dns.com,ns2.gname-dns.com";


$gntoken = md5Sign(createLinkstringUrlencode($data),$appkey);

$data['gntoken'] = $gntoken;

$requestUrl = "https://{$apiHost}/{$endPoint}";

$response = getHttpResponsePOST($requestUrl,$data);

exit($response);

当前系统时间:2025-04-19 09:15:39(UTC+8) 注册人权利与责任注册人教育信息隐私政策

© 2025 GNAME.COM 版权所有,保留所有权利