- 浏览: 46627 次
- 性别:
- 来自: 长沙
文章分类
最新评论
最近公司要做一个基于新网的API,在自己的系统中实现实时查询域名注册情况,并且要能实时注册,注册费用自动从我们的代理帐户中扣除,下面是我写的核心实现类代码:
查询域名是否已经注册,使用演示:
下面是官方API说明文档:
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--> public class XinNetApiBase
{
//默认代理编号
public readonly static string AgentID = "agent88888";
private Encoding _WebEncode = Encoding.GetEncoding("UTF-8");
private string _RequestString;
private string _Result;
private string _RequestUrl;
private WebClient _EWebClient = new WebClient();
/// <summary>
/// 处理编码
/// </summary>
public Encoding WebEncode
{
get { return _WebEncode; }
set { _WebEncode = value; }
}
/// <summary>
/// 请求的查询参数
/// </summary>
public string RequestString
{
get { return _RequestString; }
set { _RequestString = value; }
}
/// <summary>
/// 请求返回的结果
/// </summary>
public string Result
{
get { return _Result; }
set { _Result = value; }
}
/// <summary>
/// 请求的URL地址
/// </summary>
public string RequestUrl
{
get { return _RequestUrl; }
set { _RequestUrl = value; }
}
/// <summary>
/// 客户端与服务器通信类
/// </summary>
public WebClient EWebClient
{
get { return _EWebClient; }
set { _EWebClient = value; }
}
public XinNetApiBase(ApiType _apitype, List<QueryParam> _list)
{
this.RequestUrl = GetApiUrl(_apitype);
this.RequestString = GetRequestString(_list);
this.GetHttp();
}
public XinNetApiBase(string _ApiUrl, List<QueryParam> _list)
{
this.RequestUrl = _ApiUrl;
this.RequestString = GetRequestString(_list);
}
public string GetRequestString(List<QueryParam> list)
{
string requestUrl = "";
foreach (QueryParam q in list)
{
requestUrl += q.QueryName + "=" + HttpUtility.UrlEncode(q.QueryValue, this.WebEncode) + "&";
}
return requestUrl.TrimEnd('&');
}
public string GetHttp()
{
this.EWebClient.Headers.Add(HttpRequestHeader.ContentType, "application/x-www-form-urlencoded");
this.EWebClient.Encoding = this.WebEncode;
this.Result = this.EWebClient.UploadString(new Uri(this.RequestUrl), "POST", this.RequestString);
return this.Result;
}
public string GetApiUrl(ApiType _ApiType)
{
string _Url = "";
switch (_ApiType)
{
case ApiType.Check:
_Url = "http://api.xinnet.com/domain/api.gb?method=check&charset=utf-8";
break;
case ApiType.Register:
_Url = "http://api.xinnet.com/domain/api.gb?method=Register&charset=utf-8";
break;
case ApiType.Status:
_Url = "http://api.xinnet.com/domain/api.gb?method=Status&charset=utf-8";
break;
case ApiType.ModDns:
_Url = "http://api.xinnet.com/domain/api.gb?method=ModDns&charset=utf-8";
break;
case ApiType.domain:
_Url = "http://api.xinnet.com/domain/api.gb?method=DomainRenew&charset=utf-8";
break;
case ApiType.GetProductKey:
_Url = "http://api.xinnet.com/domain/api.gb?method=GetProductKey&charset=utf-8";
break;
case ApiType.ChangeProductKey:
_Url = "http://api.xinnet.com/domain/api.gb?method=ChangeProductKey&charset=utf-8";
break;
case ApiType.ModifyContactor:
_Url = "http://api.xinnet.com/domain/api.gb?method=ModifyContactor&charset=utf-8";
break;
default:
_Url = "http://api.xinnet.com/domain/api.gb?method=testmd5&charset=utf-8";
break;
}
return _Url;
}
/// <summary>
/// MD5加密
/// </summary>
/// <param name="_ConvertString">加密的内容</param>
/// <param name="_Len">16或32 表示16位或32位</param>
/// <returns></returns>
public static string MD5(string _ConvertString, int _Len)
{
using (System.Security.Cryptography.MD5CryptoServiceProvider provider = new System.Security.Cryptography.MD5CryptoServiceProvider())
{
switch (_Len)
{
case 16:
return BitConverter.ToString(provider.ComputeHash(Encoding.UTF8.GetBytes(_ConvertString)), 4, 8).Replace("-", string.Empty).ToUpper(System.Globalization.CultureInfo.CurrentCulture);
case 32:
return BitConverter.ToString(provider.ComputeHash(Encoding.UTF8.GetBytes(_ConvertString))).Replace("-", string.Empty).ToUpper(System.Globalization.CultureInfo.CurrentCulture);
default:
return BitConverter.ToString(provider.ComputeHash(Encoding.UTF8.GetBytes(_ConvertString))).Replace("-", string.Empty).ToUpper(System.Globalization.CultureInfo.CurrentCulture);
}
}
}
}
public class QueryParam
{
private string _QueryName;
private string _QueryValue;
public string QueryName
{
set { this._QueryName = value; }
get { return this._QueryName; }
}
public string QueryValue
{
set { this._QueryValue = value; }
get { return this._QueryValue; }
}
public QueryParam(string _Name, string _Value)
{
this.QueryName = _Name;
this.QueryValue = _Value;
}
}
public enum ApiType
{
Check,
Register,
Status,
ModDns,
domain,
GetProductKey,
ChangeProductKey,
ModifyContactor
}
{
//默认代理编号
public readonly static string AgentID = "agent88888";
private Encoding _WebEncode = Encoding.GetEncoding("UTF-8");
private string _RequestString;
private string _Result;
private string _RequestUrl;
private WebClient _EWebClient = new WebClient();
/// <summary>
/// 处理编码
/// </summary>
public Encoding WebEncode
{
get { return _WebEncode; }
set { _WebEncode = value; }
}
/// <summary>
/// 请求的查询参数
/// </summary>
public string RequestString
{
get { return _RequestString; }
set { _RequestString = value; }
}
/// <summary>
/// 请求返回的结果
/// </summary>
public string Result
{
get { return _Result; }
set { _Result = value; }
}
/// <summary>
/// 请求的URL地址
/// </summary>
public string RequestUrl
{
get { return _RequestUrl; }
set { _RequestUrl = value; }
}
/// <summary>
/// 客户端与服务器通信类
/// </summary>
public WebClient EWebClient
{
get { return _EWebClient; }
set { _EWebClient = value; }
}
public XinNetApiBase(ApiType _apitype, List<QueryParam> _list)
{
this.RequestUrl = GetApiUrl(_apitype);
this.RequestString = GetRequestString(_list);
this.GetHttp();
}
public XinNetApiBase(string _ApiUrl, List<QueryParam> _list)
{
this.RequestUrl = _ApiUrl;
this.RequestString = GetRequestString(_list);
}
public string GetRequestString(List<QueryParam> list)
{
string requestUrl = "";
foreach (QueryParam q in list)
{
requestUrl += q.QueryName + "=" + HttpUtility.UrlEncode(q.QueryValue, this.WebEncode) + "&";
}
return requestUrl.TrimEnd('&');
}
public string GetHttp()
{
this.EWebClient.Headers.Add(HttpRequestHeader.ContentType, "application/x-www-form-urlencoded");
this.EWebClient.Encoding = this.WebEncode;
this.Result = this.EWebClient.UploadString(new Uri(this.RequestUrl), "POST", this.RequestString);
return this.Result;
}
public string GetApiUrl(ApiType _ApiType)
{
string _Url = "";
switch (_ApiType)
{
case ApiType.Check:
_Url = "http://api.xinnet.com/domain/api.gb?method=check&charset=utf-8";
break;
case ApiType.Register:
_Url = "http://api.xinnet.com/domain/api.gb?method=Register&charset=utf-8";
break;
case ApiType.Status:
_Url = "http://api.xinnet.com/domain/api.gb?method=Status&charset=utf-8";
break;
case ApiType.ModDns:
_Url = "http://api.xinnet.com/domain/api.gb?method=ModDns&charset=utf-8";
break;
case ApiType.domain:
_Url = "http://api.xinnet.com/domain/api.gb?method=DomainRenew&charset=utf-8";
break;
case ApiType.GetProductKey:
_Url = "http://api.xinnet.com/domain/api.gb?method=GetProductKey&charset=utf-8";
break;
case ApiType.ChangeProductKey:
_Url = "http://api.xinnet.com/domain/api.gb?method=ChangeProductKey&charset=utf-8";
break;
case ApiType.ModifyContactor:
_Url = "http://api.xinnet.com/domain/api.gb?method=ModifyContactor&charset=utf-8";
break;
default:
_Url = "http://api.xinnet.com/domain/api.gb?method=testmd5&charset=utf-8";
break;
}
return _Url;
}
/// <summary>
/// MD5加密
/// </summary>
/// <param name="_ConvertString">加密的内容</param>
/// <param name="_Len">16或32 表示16位或32位</param>
/// <returns></returns>
public static string MD5(string _ConvertString, int _Len)
{
using (System.Security.Cryptography.MD5CryptoServiceProvider provider = new System.Security.Cryptography.MD5CryptoServiceProvider())
{
switch (_Len)
{
case 16:
return BitConverter.ToString(provider.ComputeHash(Encoding.UTF8.GetBytes(_ConvertString)), 4, 8).Replace("-", string.Empty).ToUpper(System.Globalization.CultureInfo.CurrentCulture);
case 32:
return BitConverter.ToString(provider.ComputeHash(Encoding.UTF8.GetBytes(_ConvertString))).Replace("-", string.Empty).ToUpper(System.Globalization.CultureInfo.CurrentCulture);
default:
return BitConverter.ToString(provider.ComputeHash(Encoding.UTF8.GetBytes(_ConvertString))).Replace("-", string.Empty).ToUpper(System.Globalization.CultureInfo.CurrentCulture);
}
}
}
}
public class QueryParam
{
private string _QueryName;
private string _QueryValue;
public string QueryName
{
set { this._QueryName = value; }
get { return this._QueryName; }
}
public string QueryValue
{
set { this._QueryValue = value; }
get { return this._QueryValue; }
}
public QueryParam(string _Name, string _Value)
{
this.QueryName = _Name;
this.QueryValue = _Value;
}
}
public enum ApiType
{
Check,
Register,
Status,
ModDns,
domain,
GetProductKey,
ChangeProductKey,
ModifyContactor
}
查询域名是否已经注册,使用演示:
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--> List<QueryParam> param = new List<QueryParam>();
param.Add(new QueryParam("name", "viqiwu"));
param.Add(new QueryParam("enc", "E"));
param.Add(new QueryParam("suffix", ".com"));
param.Add(new QueryParam("suffix", ".com.cn"));
param.Add(new QueryParam("suffix", ".cn"));
param.Add(new QueryParam("client", "agent88888"));
XinNetApiBase _XinNet = new XinNetApiBase(ApiType.Check, param);
Response.Write(_XinNet.Result);
//_XinNet.Result 返回的结果 num=3&enc=E&name1=viqiwu.com&chk1=0&name2=viqiwu.com.cn&chk2=100&name3=viqiwu.cn&chk3=0
//chk1=0 表示不能注册了 chk1=100 表示可以注册
param.Add(new QueryParam("name", "viqiwu"));
param.Add(new QueryParam("enc", "E"));
param.Add(new QueryParam("suffix", ".com"));
param.Add(new QueryParam("suffix", ".com.cn"));
param.Add(new QueryParam("suffix", ".cn"));
param.Add(new QueryParam("client", "agent88888"));
XinNetApiBase _XinNet = new XinNetApiBase(ApiType.Check, param);
Response.Write(_XinNet.Result);
//_XinNet.Result 返回的结果 num=3&enc=E&name1=viqiwu.com&chk1=0&name2=viqiwu.com.cn&chk2=100&name3=viqiwu.cn&chk3=0
//chk1=0 表示不能注册了 chk1=100 表示可以注册
下面是官方API说明文档:
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->Xinnet Corp. 北京新网数码信息技术有限公司
POST参数注意事项:
所有电话号码及邮编必须为数字,且不能为零
所有英文信息字段必须为
本接口暂时不支持信任制代理
1. 文档说明
1.1 文档简介
本版本采用HTTP+POST方式进行注册。
1.2 使用限制
只有新网的正式代理才能使用。
必须符合接口认证方式才能提交命令。
注册接口按照该代理的价格进行实时注册实时扣费,如果预付款不足,将不能提交注册申请。
接口文档的获得和传播必须符合新网的保密协议
1.3 操作说明
1。代理在新网代理专区填写授权POST的IP地址和认证密码。
2。按照接口说明编写客户端程序向接口提交查询、注册命令,立刻获得结果。
1.4 域名范围
国际域名,.com,.net,.org,.biz,.info,.cc,.mobi域名,包括中文.com,.cc
国内域名,.cn,.com.cn类,.中国,.网络,.公司,通用网址
1.5 md5串测试地址:
url:http://api.xinnet.com/domain/api.gb?method=testmd5
http://api.xinnet.com/domain/api.gb?method=testmd5&charset=utf-8 (utf-8字符集)
参数:strbuf
输出:strbuf内容及编码后的md5串
中文编码使用gb2312 或者utf-8编码,否则易出现md5校验错误:verify-failure 摘要认证失败
关于此处说明:请确保相关程序文件的charset设置和文件自身保存的编码一致。
并请保证所有关联文件编码一致,您明确要求不一致(需转码)的除外
gb2312和utf-8中文md5结果可能不同,请确保提交内容字符集和md5串一致。
2. 接口概述
2.1 接口目录
Check接口:主要负责进行域名的查询,采用多线程方式,可以同时查询多个域名
Register接口:注册接口,实时注册,成功后立即扣费。如果超时,不转为后台注册,域名将被删除。
不提供通用网址注册服务。
Status接口:查询域名是否注册成功。
ModDns接口: 进行在线修改DNS操作。
domain续费接口:域名续费接口,实时续费,立即扣费。
获取产品密码接口:获取域名管理密码、mydns密码以及域名到期时间。
修改产品密码接口:修改域名管理密码以及mydns密码。
ModifyContactor 接口:修改除域名所有人以外的所有联系人信息。
注册本域名下的DNS:注册本域名下的DNS。
查询本域名下的DNS:查询本域名下的DNS。
修改本域名下的DNS:修改本域名下的DNS。
删除本域名下的DNS:删除本域名下的DNS。
2.2 认证方式
1。IP限制,对于任何接口必须从该代理授权的IP,每个代理限填3个IP地址
2。MD5非可逆加密摘要,除Check接口、和Status接口外,其它所有接口都要求提供
2.3 返回结果
按照POST数据格式返回数据结果
3. 接口说明
3.1 Check 接口
POST 地址: http://api.xinnet.com/domain/api.gb?method=check
http://api.xinnet.com/domain/api.gb?method=check&charset=utf-8 (utf-8字符集)
POST 参数: name 名字;1个,没有后缀
enc 编码,E,G;1个;
suffix 后缀;1-N个,域名后缀.com/.net/.org/.中国/cnaddr/.公司/
client 代理号;1个
例如:name=abc&enc=E&suffix=.com&suffix=.net&suffix=.cn&client=agent111
POST 数据,必须进行URL编码
验证:client和POST的来源IP必须与该代理填写的地址一致
返回结果: num 域名数量
enc 编码
name[1--N] 域名,名字+后缀 N=num
chk[1--N] N=num 查询结果: 0 不可注册 100 可以注册
信息编码:
auth-failure 认证失败
例如:num=3&enc=E&name1=abc.com&chk1=0&name2=abc.net&chk2=100&name3=abc.org&chk3=-100
注意:通用网址suffix=cnaddr(目前仅提供老通用网址续费,不提供注册服务)
3.2 Register 接口
POST 地址: http://api.xinnet.com/domain/api.gb?method=Register
http://api.xinnet.com/domain/api.gb?method=Register&charset=utf-8 (utf-8字符集)
POST 参数:
[域名信息]
dn 域名;1个,包括名字和后缀
enc 编码,E,G;1个;
client 代理号;1个
checksum MD5加密摘要
period 注册年数;[如果不填默认为1年],有效值1-10年
url URL转发[通用网址需要,如果不填默认为www.xinnet.com]
[注册所有人或注册单位的信息]
uname1 注册人中文单位名称 [必须]
uname2 注册人英文单位名称 [必须]------------------- 必须英文,且中间有一个空
格
uname3 注册单位拼音 [.中国\通用网址必须] ---------- 必须为字母
uname4 注册单位缩写 [.中国\通用网址必须] ----------
location 注册人单位所在地 [注册.中国\通用网址必须]
rname1 注册人|单位负责人中文名称 [国内域名必须]
rname2 注册人|单位负责人英文名称 [国际域名必须]
ust 注册人英文国家名称 两个字母[CN表示中国],接口自动翻译中文
uprov 注册人英文省份名称 如:Beijing,接口自动翻译中文
ucity1 注册人中文城市名称 [国内域名必须]
ucity2 注册人英文城市名称 [国际域名必须]
uaddr1 注册人中文地址 [国内域名必须]
uaddr2 注册人英文地址 [国际域名必须]
uzip 注册人邮政编码 [必须]
utelc 注册人电话国家码, 可以不填默认为86,长度不能大于3位
utela 注册人电话区号 如果为手机可以不填,此项不可为0
uteln 注册人电话号码 (区号+电话号码长度必须小于12)
utele 注册人电话分机
ufaxc 注册人传真国家码, 可以不填默认为86,长度不能大于3位
ufaxa 注册人传真区号 如果为手机可以不填,此项不可为0
ufaxn 注册人传真号码 必须为数字 (区号+传真号码长度必须小于12)
ufaxe 注册人传真分机
uemail 注册人email地址
trade 注册人所在行业英文编码 [如果不填,默认为商业S8]//此字段最好不填,如果
填写,千万不能用小写S
[域名管理联系人信息] 管理联系人单位地址信息和注册人信息一致,所以不用填
写
uincode travel域名UIN编码 travel域名必须,其他域名不需要
certtype asia域名证件类型 asia域名必须,其他域名不需要
passport 护照或居民身份证
certificate 营业执照
legislation 特许成立的法定机构证明
societiesRegistry 非营利团体登记证明
politicalPartyRegistry 政党注册证明
other 其他
certcode asia域名证件号码 asia域名必须,其他域名不需要
entitytype asia域名实体类型 asia域名必须,其他域名不需要
naturalPerson 个人
corporation 公司或社团法人
cooperative 合作社
partnership 合伙或集体公司
government 政府机关
politicalParty 政党或工会
society 信托管理机构﹑资产管理机构﹑协会或社团
institution 公共机构
other 其他
aname1 管理联系人中文名称 [国内域名必填]
aname2 管理联系人英文名称 [国际域名必填]
atelc 管理联系人电话国家码 可以不填默认为86,长度不能大于3位
atela 管理联系人电话区号 如果为手机可以不填
ateln 管理联系人电话号码 区号+电话号码长度必须小于12
atele 管理联系人电话分机 可以不填,此项不可为0
afaxc 管理联系人传真国家码,可以不填默认为86,长度不能大于3位
afaxa 管理联系人传真区号,如果为手机可以不填 可以不填,此项不可为0
afaxn 管理联系人传真号码
afaxe 管理联系人传真分机
aemail 管理联系人电子邮件地址 [必须]
说明:管理联系人和注册人的电话和传真必须保证一份为填写完整的。
否则,如果管理联系人电话传真缺少,将使用注册人的电话传真
如果注册人电话传真缺少,将使用管理联系人的电话传真
如果注册人没有email地址,将使用管理联系人的email地址
[技术联系人信息]
tname1 技术联系人中文名称 [如果不填,默认为管理联系人]
tname2 技术联系人英文名称 [如果不填,默认为管理联系人]
tunit1 技术联系人单位中文名称 [如果不填,默认为管理联系人]
tunit2 技术联系人单位英文名称 [如果不填,默认为管理联系人]
tst 技术联系人英文国家名称, 两个字母[CN表示中国], [如果不填,默认为
管理联系人]
tprov 技术联系人英文省份名称 如:Beijing,接口自动翻译中文,[如果不填,默认
为管理联系人]
tcity1 技术联系人中文城市名称 [如果不填,默认为管理联系人]
tcity2 技术联系人英文城市名称 [如果不填,默认为管理联系人]
taddr1 技术联系人中文地址 [如果不填,默认为管理联系人]
taddr2 技术联系人英文地址 [如果不填,默认为管理联系人]
tzip 技术联系人邮政编码 [如果不填,默认为管理联系人]
temail 技术联系人电子邮件地址 [如果不填,默认为管理联系人]
ttelc 技术联系人电话国家码 [如果不填,默认为管理联系人]
ttela 技术联系人电话区号 [如果不填,默认为管理联系人]
tteln 技术联系人电话号码 [如果不填,默认为管理联系人]
ttele 技术联系人电话分机 [如果不填,默认为管理联系人]
tfaxc 技术联系人传真国家码 [如果不填,默认为管理联系人]
tfaxa 技术联系人传真区号 [如果不填,默认为管理联系人]
tfaxn 技术联系人传真号码 [如果不填,默认为管理联系人]
tfaxe 技术联系人传真分机 [如果不填,默认为管理联系人]
[交费联系人信息]
fname1 交费联系人中文名称 [如果不填,默认为管理联系人]
fname2 交费联系人英文名称 [如果不填,默认为管理联系人]
funit1 交费联系人单位中文名称 [如果不填,默认为管理联系人]
funit2 交费联系人单位英文名称 [如果不填,默认为管理联系人]
fst 交费联系人英文国家名称, 两个字母[CN表示中国], [如果不填,默认为
管理联系人]
fprov 交费联系人英文省份名称 如:Beijing,接口自动翻译中文,[如果不填,默认
为管理联系人]
fcity1 交费联系人中文城市名称 [如果不填,默认为管理联系人]
fcity2 交费联系人英文城市名称 [如果不填,默认为管理联系人]
faddr1 交费联系人中文地址 [如果不填,默认为管理联系人]
faddr2 交费联系人英文地址 [如果不填,默认为管理联系人]
fzip 交费联系人邮政编码 [如果不填,默认为管理联系人]
femail 交费联系人电子邮件地址 [如果不填,默认为管理联系人]
ftelc 交费联系人电话国家码 [如果不填,默认为管理联系人]
ftela 交费联系人电话区号 [如果不填,默认为管理联系人]
fteln 交费联系人电话号码 [如果不填,默认为管理联系人]
ftele 交费联系人电话分机 [如果不填,默认为管理联系人]
ffaxc 交费联系人传真国家码 [如果不填,默认为管理联系人]
ffaxa 交费联系人传真区号 [如果不填,默认为管理联系人]
ffaxn 交费联系人传真号码 [如果不填,默认为管理联系人]
ffaxe 交费联系人传真分机 [如果不填,默认为管理联系人]
[DNS信息]
dns1 域名主服务器名字 [如果不填默认为ns.xinnetdns.com]
dns2 域名辅服务器名字 [如果不填默认为ns.xinnet.cn]
例如:dn=abc.com&enc=E&client=agent111&period=1.
POST 数据,都必须进行URL编码,否则中文信息将不正确
验证:client和POST的来源IP必须与该代理填写的地址一致
checksum=MD5("Register"+client+password+dn+aemail+uname2)
"Register"为字符串常量,表示接口名称。
其他没有引号表示为POST参数变量,password为代理专区中设置的认证密码
client为客户号,dn为域名,aemail为管理联系人电子邮件,unit2为注册单位英文名称
返回结果: ret 注册结果,0 失败,100成功 50 超时等待
info 正常的信息,1个
err 错误的信息,0-N个
返回信息:
格式: 操作/对象-结果
reg-success 注册成功
reg-waiting 提交成功,等待注册
reg-failure 注册失败
reg-unauth 未被授权注册通用网址[new]
auth-failure 认证失败
name-null 域名为空
name-wrong 错误的域名后缀
name-invalid 域名无效包含错误字符
client-invalid 客户号无效
client-null 客户号为空
verify-null 没有摘要
db-fail 数据库连接失败
credit-fail 客户预付款不足
name-exist 域名已经存在
period-invalid 注册年限无效
verify-failure 摘要认证失败
uname1-invalid 注册人单位中文名称无效
uname1-null 注册人单位中文名称为空
uname2-invalid 注册人单位英文名称无效
uname2-null 注册人单位英文名称为空
uname3-invalid 注册人单位拼音无效
uname3-null 注册人单位拼音为空
uname4-invalid 注册人单位缩写无效
uname4-null 注册人单位缩写为空
rname1-invalid 注册人中文姓名无效
rname1-null 注册人中文姓名为空
rname2-invalid 注册人英文姓名无效
rname2-null 注册人英文姓名为空
uaddr1-invalid 注册人单位中文地址中文名称无效
uaddr1-null 注册人单位中文地址中文名称为空
uaddr2-invalid 注册人单位中文地址英文名称无效
uaddr2-null 注册人单位中文地址英文名称为空
ucity1-invalid 注册人单位中文城市无效
ucity1-null 注册人单位中文城市为空
ucity2-invalid 注册人单位英文城市无效
ucity2-null 注册人单位英文城市为空
aname1-invalid 管理联系人中文姓名无效
aname1-null 管理联系人中文姓名为空
aname2-invalid 管理联系人英文姓名无效
aname2-null 管理联系人英文姓名为空
uteln-invalid 注册人电话号码无效
uteln-null 注册人电话号码为空
ateln-invalid 管理联系人电话号码无效
ateln-null 管理联系人电话号码为空
ufaxn-invalid 注册人传真号码无效
ufaxn-null 注册人传真号码为空
afaxn-invalid 管理联系人传真号码无效
afaxn-null 管理联系人传真号码为空
uzip-invalid 注册人邮政编码无效
uzip-null 注册人邮政编码为空
aemail-invalid 管理联系人email无效
aemail-null 管理联系人email为空
uincode-invalid travel域名UIN编码无效
certtype-invalid asia域名证件类型无效
certcode-invalid asia 域名证件号码无效
entitytype-invalid asia域名实体类型无效
例如: ret=100&info=reg-success
ret=0&err=auth-failure
ret=0&err=uname2-invalid&err=aemail-null&err=uaddr2-invalid&err=
3.3 Status 接口
POST 地址: http://api.xinnet.com/domain/api.gb?method=Status
http://api.xinnet.com/domain/api.gb?method=Status&charset=utf-8 (utf-8字符集)
dn 域名;1个,包括名字和后缀
enc 编码,E,G;1个;如果不填,模认为E
client 代理号;1个
例如:dn=abc.com&enc=E&client=agent111
POST 数据,必须进行URL编码
验证:client和POST的来源IP必须与该代理填写的地址一致
返回结果: ret 返回结果,
100注册成功,0注册不成功,50等待注册,-100该域名不存在 -20域名存在但您没有管理权限
err 错误信息
信息编码:
auth-failure 认证失败
name-invalid 无效的域名
例如:ret=0&err=auth-failure
3.4 ModDns 接口
POST 地址: http://api.xinnet.com/domain/api.gb?method=ModDns
http://api.xinnet.com/domain/api.gb?method=ModDns&charset=utf-8 (utf-8字符集)
POST 参数:
[域名信息]
dn 域名;1个,包括名字和后缀
enc 编码,E,G;1个;
client 代理号;1个
dns1 域名主服务器名字[必须填写]
dns2 域名辅服务器名字[必须填写]
checksum MD5加密摘要
例如:dn=abc.com&enc=E&client=agent111&dns=ns.xinnetdns.com.
POST 数据,都必须进行URL编码,否则中文信息将不正确
验证:client和POST的来源IP必须与该代理填写的地址一致
checksum=MD5("ModDns"+client+password+dn+dns1+dns2)
"ModDns"为字符串常量,表示接口名称。
其他没有引号表示为POST参数变量,password为代理专区中设置的认证密码
client为客户号,dn为域名,dns1,dns2为域名服务器名字[例如:ns.xinnetdns.com]
返回结果: ret 注册结果,0 失败,100成功
info 正常的信息,1个
err 错误的信息,0-N个
返回信息:
格式: 操作/对象-结果
mod-success 修改成功
mod-failure 修改失败
auth-failure 认证失败
name-null 域名为空
name-wrong 错误的域名后缀
name-invalid 域名无效包含错误字符
client-invalid 客户号无效
client-null 客户号为空
verify-null 没有摘要
db-fail 数据库连接失败
verify-failure 摘要认
POST参数注意事项:
所有电话号码及邮编必须为数字,且不能为零
所有英文信息字段必须为
本接口暂时不支持信任制代理
1. 文档说明
1.1 文档简介
本版本采用HTTP+POST方式进行注册。
1.2 使用限制
只有新网的正式代理才能使用。
必须符合接口认证方式才能提交命令。
注册接口按照该代理的价格进行实时注册实时扣费,如果预付款不足,将不能提交注册申请。
接口文档的获得和传播必须符合新网的保密协议
1.3 操作说明
1。代理在新网代理专区填写授权POST的IP地址和认证密码。
2。按照接口说明编写客户端程序向接口提交查询、注册命令,立刻获得结果。
1.4 域名范围
国际域名,.com,.net,.org,.biz,.info,.cc,.mobi域名,包括中文.com,.cc
国内域名,.cn,.com.cn类,.中国,.网络,.公司,通用网址
1.5 md5串测试地址:
url:http://api.xinnet.com/domain/api.gb?method=testmd5
http://api.xinnet.com/domain/api.gb?method=testmd5&charset=utf-8 (utf-8字符集)
参数:strbuf
输出:strbuf内容及编码后的md5串
中文编码使用gb2312 或者utf-8编码,否则易出现md5校验错误:verify-failure 摘要认证失败
关于此处说明:请确保相关程序文件的charset设置和文件自身保存的编码一致。
并请保证所有关联文件编码一致,您明确要求不一致(需转码)的除外
gb2312和utf-8中文md5结果可能不同,请确保提交内容字符集和md5串一致。
2. 接口概述
2.1 接口目录
Check接口:主要负责进行域名的查询,采用多线程方式,可以同时查询多个域名
Register接口:注册接口,实时注册,成功后立即扣费。如果超时,不转为后台注册,域名将被删除。
不提供通用网址注册服务。
Status接口:查询域名是否注册成功。
ModDns接口: 进行在线修改DNS操作。
domain续费接口:域名续费接口,实时续费,立即扣费。
获取产品密码接口:获取域名管理密码、mydns密码以及域名到期时间。
修改产品密码接口:修改域名管理密码以及mydns密码。
ModifyContactor 接口:修改除域名所有人以外的所有联系人信息。
注册本域名下的DNS:注册本域名下的DNS。
查询本域名下的DNS:查询本域名下的DNS。
修改本域名下的DNS:修改本域名下的DNS。
删除本域名下的DNS:删除本域名下的DNS。
2.2 认证方式
1。IP限制,对于任何接口必须从该代理授权的IP,每个代理限填3个IP地址
2。MD5非可逆加密摘要,除Check接口、和Status接口外,其它所有接口都要求提供
2.3 返回结果
按照POST数据格式返回数据结果
3. 接口说明
3.1 Check 接口
POST 地址: http://api.xinnet.com/domain/api.gb?method=check
http://api.xinnet.com/domain/api.gb?method=check&charset=utf-8 (utf-8字符集)
POST 参数: name 名字;1个,没有后缀
enc 编码,E,G;1个;
suffix 后缀;1-N个,域名后缀.com/.net/.org/.中国/cnaddr/.公司/
client 代理号;1个
例如:name=abc&enc=E&suffix=.com&suffix=.net&suffix=.cn&client=agent111
POST 数据,必须进行URL编码
验证:client和POST的来源IP必须与该代理填写的地址一致
返回结果: num 域名数量
enc 编码
name[1--N] 域名,名字+后缀 N=num
chk[1--N] N=num 查询结果: 0 不可注册 100 可以注册
信息编码:
auth-failure 认证失败
例如:num=3&enc=E&name1=abc.com&chk1=0&name2=abc.net&chk2=100&name3=abc.org&chk3=-100
注意:通用网址suffix=cnaddr(目前仅提供老通用网址续费,不提供注册服务)
3.2 Register 接口
POST 地址: http://api.xinnet.com/domain/api.gb?method=Register
http://api.xinnet.com/domain/api.gb?method=Register&charset=utf-8 (utf-8字符集)
POST 参数:
[域名信息]
dn 域名;1个,包括名字和后缀
enc 编码,E,G;1个;
client 代理号;1个
checksum MD5加密摘要
period 注册年数;[如果不填默认为1年],有效值1-10年
url URL转发[通用网址需要,如果不填默认为www.xinnet.com]
[注册所有人或注册单位的信息]
uname1 注册人中文单位名称 [必须]
uname2 注册人英文单位名称 [必须]------------------- 必须英文,且中间有一个空
格
uname3 注册单位拼音 [.中国\通用网址必须] ---------- 必须为字母
uname4 注册单位缩写 [.中国\通用网址必须] ----------
location 注册人单位所在地 [注册.中国\通用网址必须]
rname1 注册人|单位负责人中文名称 [国内域名必须]
rname2 注册人|单位负责人英文名称 [国际域名必须]
ust 注册人英文国家名称 两个字母[CN表示中国],接口自动翻译中文
uprov 注册人英文省份名称 如:Beijing,接口自动翻译中文
ucity1 注册人中文城市名称 [国内域名必须]
ucity2 注册人英文城市名称 [国际域名必须]
uaddr1 注册人中文地址 [国内域名必须]
uaddr2 注册人英文地址 [国际域名必须]
uzip 注册人邮政编码 [必须]
utelc 注册人电话国家码, 可以不填默认为86,长度不能大于3位
utela 注册人电话区号 如果为手机可以不填,此项不可为0
uteln 注册人电话号码 (区号+电话号码长度必须小于12)
utele 注册人电话分机
ufaxc 注册人传真国家码, 可以不填默认为86,长度不能大于3位
ufaxa 注册人传真区号 如果为手机可以不填,此项不可为0
ufaxn 注册人传真号码 必须为数字 (区号+传真号码长度必须小于12)
ufaxe 注册人传真分机
uemail 注册人email地址
trade 注册人所在行业英文编码 [如果不填,默认为商业S8]//此字段最好不填,如果
填写,千万不能用小写S
[域名管理联系人信息] 管理联系人单位地址信息和注册人信息一致,所以不用填
写
uincode travel域名UIN编码 travel域名必须,其他域名不需要
certtype asia域名证件类型 asia域名必须,其他域名不需要
passport 护照或居民身份证
certificate 营业执照
legislation 特许成立的法定机构证明
societiesRegistry 非营利团体登记证明
politicalPartyRegistry 政党注册证明
other 其他
certcode asia域名证件号码 asia域名必须,其他域名不需要
entitytype asia域名实体类型 asia域名必须,其他域名不需要
naturalPerson 个人
corporation 公司或社团法人
cooperative 合作社
partnership 合伙或集体公司
government 政府机关
politicalParty 政党或工会
society 信托管理机构﹑资产管理机构﹑协会或社团
institution 公共机构
other 其他
aname1 管理联系人中文名称 [国内域名必填]
aname2 管理联系人英文名称 [国际域名必填]
atelc 管理联系人电话国家码 可以不填默认为86,长度不能大于3位
atela 管理联系人电话区号 如果为手机可以不填
ateln 管理联系人电话号码 区号+电话号码长度必须小于12
atele 管理联系人电话分机 可以不填,此项不可为0
afaxc 管理联系人传真国家码,可以不填默认为86,长度不能大于3位
afaxa 管理联系人传真区号,如果为手机可以不填 可以不填,此项不可为0
afaxn 管理联系人传真号码
afaxe 管理联系人传真分机
aemail 管理联系人电子邮件地址 [必须]
说明:管理联系人和注册人的电话和传真必须保证一份为填写完整的。
否则,如果管理联系人电话传真缺少,将使用注册人的电话传真
如果注册人电话传真缺少,将使用管理联系人的电话传真
如果注册人没有email地址,将使用管理联系人的email地址
[技术联系人信息]
tname1 技术联系人中文名称 [如果不填,默认为管理联系人]
tname2 技术联系人英文名称 [如果不填,默认为管理联系人]
tunit1 技术联系人单位中文名称 [如果不填,默认为管理联系人]
tunit2 技术联系人单位英文名称 [如果不填,默认为管理联系人]
tst 技术联系人英文国家名称, 两个字母[CN表示中国], [如果不填,默认为
管理联系人]
tprov 技术联系人英文省份名称 如:Beijing,接口自动翻译中文,[如果不填,默认
为管理联系人]
tcity1 技术联系人中文城市名称 [如果不填,默认为管理联系人]
tcity2 技术联系人英文城市名称 [如果不填,默认为管理联系人]
taddr1 技术联系人中文地址 [如果不填,默认为管理联系人]
taddr2 技术联系人英文地址 [如果不填,默认为管理联系人]
tzip 技术联系人邮政编码 [如果不填,默认为管理联系人]
temail 技术联系人电子邮件地址 [如果不填,默认为管理联系人]
ttelc 技术联系人电话国家码 [如果不填,默认为管理联系人]
ttela 技术联系人电话区号 [如果不填,默认为管理联系人]
tteln 技术联系人电话号码 [如果不填,默认为管理联系人]
ttele 技术联系人电话分机 [如果不填,默认为管理联系人]
tfaxc 技术联系人传真国家码 [如果不填,默认为管理联系人]
tfaxa 技术联系人传真区号 [如果不填,默认为管理联系人]
tfaxn 技术联系人传真号码 [如果不填,默认为管理联系人]
tfaxe 技术联系人传真分机 [如果不填,默认为管理联系人]
[交费联系人信息]
fname1 交费联系人中文名称 [如果不填,默认为管理联系人]
fname2 交费联系人英文名称 [如果不填,默认为管理联系人]
funit1 交费联系人单位中文名称 [如果不填,默认为管理联系人]
funit2 交费联系人单位英文名称 [如果不填,默认为管理联系人]
fst 交费联系人英文国家名称, 两个字母[CN表示中国], [如果不填,默认为
管理联系人]
fprov 交费联系人英文省份名称 如:Beijing,接口自动翻译中文,[如果不填,默认
为管理联系人]
fcity1 交费联系人中文城市名称 [如果不填,默认为管理联系人]
fcity2 交费联系人英文城市名称 [如果不填,默认为管理联系人]
faddr1 交费联系人中文地址 [如果不填,默认为管理联系人]
faddr2 交费联系人英文地址 [如果不填,默认为管理联系人]
fzip 交费联系人邮政编码 [如果不填,默认为管理联系人]
femail 交费联系人电子邮件地址 [如果不填,默认为管理联系人]
ftelc 交费联系人电话国家码 [如果不填,默认为管理联系人]
ftela 交费联系人电话区号 [如果不填,默认为管理联系人]
fteln 交费联系人电话号码 [如果不填,默认为管理联系人]
ftele 交费联系人电话分机 [如果不填,默认为管理联系人]
ffaxc 交费联系人传真国家码 [如果不填,默认为管理联系人]
ffaxa 交费联系人传真区号 [如果不填,默认为管理联系人]
ffaxn 交费联系人传真号码 [如果不填,默认为管理联系人]
ffaxe 交费联系人传真分机 [如果不填,默认为管理联系人]
[DNS信息]
dns1 域名主服务器名字 [如果不填默认为ns.xinnetdns.com]
dns2 域名辅服务器名字 [如果不填默认为ns.xinnet.cn]
例如:dn=abc.com&enc=E&client=agent111&period=1.
POST 数据,都必须进行URL编码,否则中文信息将不正确
验证:client和POST的来源IP必须与该代理填写的地址一致
checksum=MD5("Register"+client+password+dn+aemail+uname2)
"Register"为字符串常量,表示接口名称。
其他没有引号表示为POST参数变量,password为代理专区中设置的认证密码
client为客户号,dn为域名,aemail为管理联系人电子邮件,unit2为注册单位英文名称
返回结果: ret 注册结果,0 失败,100成功 50 超时等待
info 正常的信息,1个
err 错误的信息,0-N个
返回信息:
格式: 操作/对象-结果
reg-success 注册成功
reg-waiting 提交成功,等待注册
reg-failure 注册失败
reg-unauth 未被授权注册通用网址[new]
auth-failure 认证失败
name-null 域名为空
name-wrong 错误的域名后缀
name-invalid 域名无效包含错误字符
client-invalid 客户号无效
client-null 客户号为空
verify-null 没有摘要
db-fail 数据库连接失败
credit-fail 客户预付款不足
name-exist 域名已经存在
period-invalid 注册年限无效
verify-failure 摘要认证失败
uname1-invalid 注册人单位中文名称无效
uname1-null 注册人单位中文名称为空
uname2-invalid 注册人单位英文名称无效
uname2-null 注册人单位英文名称为空
uname3-invalid 注册人单位拼音无效
uname3-null 注册人单位拼音为空
uname4-invalid 注册人单位缩写无效
uname4-null 注册人单位缩写为空
rname1-invalid 注册人中文姓名无效
rname1-null 注册人中文姓名为空
rname2-invalid 注册人英文姓名无效
rname2-null 注册人英文姓名为空
uaddr1-invalid 注册人单位中文地址中文名称无效
uaddr1-null 注册人单位中文地址中文名称为空
uaddr2-invalid 注册人单位中文地址英文名称无效
uaddr2-null 注册人单位中文地址英文名称为空
ucity1-invalid 注册人单位中文城市无效
ucity1-null 注册人单位中文城市为空
ucity2-invalid 注册人单位英文城市无效
ucity2-null 注册人单位英文城市为空
aname1-invalid 管理联系人中文姓名无效
aname1-null 管理联系人中文姓名为空
aname2-invalid 管理联系人英文姓名无效
aname2-null 管理联系人英文姓名为空
uteln-invalid 注册人电话号码无效
uteln-null 注册人电话号码为空
ateln-invalid 管理联系人电话号码无效
ateln-null 管理联系人电话号码为空
ufaxn-invalid 注册人传真号码无效
ufaxn-null 注册人传真号码为空
afaxn-invalid 管理联系人传真号码无效
afaxn-null 管理联系人传真号码为空
uzip-invalid 注册人邮政编码无效
uzip-null 注册人邮政编码为空
aemail-invalid 管理联系人email无效
aemail-null 管理联系人email为空
uincode-invalid travel域名UIN编码无效
certtype-invalid asia域名证件类型无效
certcode-invalid asia 域名证件号码无效
entitytype-invalid asia域名实体类型无效
例如: ret=100&info=reg-success
ret=0&err=auth-failure
ret=0&err=uname2-invalid&err=aemail-null&err=uaddr2-invalid&err=
3.3 Status 接口
POST 地址: http://api.xinnet.com/domain/api.gb?method=Status
http://api.xinnet.com/domain/api.gb?method=Status&charset=utf-8 (utf-8字符集)
dn 域名;1个,包括名字和后缀
enc 编码,E,G;1个;如果不填,模认为E
client 代理号;1个
例如:dn=abc.com&enc=E&client=agent111
POST 数据,必须进行URL编码
验证:client和POST的来源IP必须与该代理填写的地址一致
返回结果: ret 返回结果,
100注册成功,0注册不成功,50等待注册,-100该域名不存在 -20域名存在但您没有管理权限
err 错误信息
信息编码:
auth-failure 认证失败
name-invalid 无效的域名
例如:ret=0&err=auth-failure
3.4 ModDns 接口
POST 地址: http://api.xinnet.com/domain/api.gb?method=ModDns
http://api.xinnet.com/domain/api.gb?method=ModDns&charset=utf-8 (utf-8字符集)
POST 参数:
[域名信息]
dn 域名;1个,包括名字和后缀
enc 编码,E,G;1个;
client 代理号;1个
dns1 域名主服务器名字[必须填写]
dns2 域名辅服务器名字[必须填写]
checksum MD5加密摘要
例如:dn=abc.com&enc=E&client=agent111&dns=ns.xinnetdns.com.
POST 数据,都必须进行URL编码,否则中文信息将不正确
验证:client和POST的来源IP必须与该代理填写的地址一致
checksum=MD5("ModDns"+client+password+dn+dns1+dns2)
"ModDns"为字符串常量,表示接口名称。
其他没有引号表示为POST参数变量,password为代理专区中设置的认证密码
client为客户号,dn为域名,dns1,dns2为域名服务器名字[例如:ns.xinnetdns.com]
返回结果: ret 注册结果,0 失败,100成功
info 正常的信息,1个
err 错误的信息,0-N个
返回信息:
格式: 操作/对象-结果
mod-success 修改成功
mod-failure 修改失败
auth-failure 认证失败
name-null 域名为空
name-wrong 错误的域名后缀
name-invalid 域名无效包含错误字符
client-invalid 客户号无效
client-null 客户号为空
verify-null 没有摘要
db-fail 数据库连接失败
verify-failure 摘要认
发表评论
-
给吸烟的园友们:一个被烟草行业隐瞒了十年的秘密,烟真不是人吸的
2009-09-10 13:02 596有些话早几年就想说了,可一直都没机会.同时我也顾忌 ... -
明天就放假了 今天也没什么事了 发个笑话 大家开心一下
2009-09-30 13:37 580老公刚到家门,突然听到有男人打呼噜的声音,男人在门外犹豫了5分 ... -
园友们注意:淘宝网上QQ会员 4钻 3元 等都为骗子行为
2009-11-12 13:36 765淘宝以便利的购物方式,成为了越来越多的朋友们的选择。 很多 ... -
最近地球上的地震越来越频繁了 2012越来越像真的了
2010-03-04 20:50 587最近海地发生7.3级地震后,接着是智利发生8.8级地震,然后紧 ... -
两会就要开了,我有话要说
2010-03-10 08:50 232010年的两会马上要召开了,我对通信管理局的ICP备案的工作 ...
相关推荐
全球域名批量查询接口是一个用于高效获取大量域名信息的程序,通常在域名注册、管理、分析或者市场研究等场景中有广泛应用。v1.0版本代表这是该接口的初始版本,可能包含基本功能,但可能在后续版本中进行了优化和...
这类检测源码的工作原理通常是通过模拟微信内置浏览器的请求行为,尝试访问目标域名,然后根据返回的状态码、错误信息或实际加载情况来判断域名是否可访问。常见的实现方式可能包括但不限于以下步骤: 1. **发起...
8. **域名解析**:查询网站排名可能涉及到域名解析,源码可能包含使用Winsock或第三方库如Indy的DNS查询功能,以获取网站对应的IP地址。 9. **自定义与扩展**:源码声明"可以随便修改变成别的",意味着它可能设计得...
这个工具可能利用了百度提供的API接口或者服务,实现了快速、便捷地获取网络上域名与IP之间的关联数据。 【描述】"基于PHP的域名及IP查询工具百度v1.2源码.zip"说明这个工具的源代码是用PHP编写的,并且版本号为v...
5. API接口:为了与其他服务(如物流、支付平台)对接,源码中可能会有对外提供的API接口定义,遵循RESTful原则,使用JSON格式进行数据交换。 6. 管理后台:用于管理员对网站内容进行更新和维护的后台管理系统,...
新豆瓣同城分类信息微信小程序源码是一个用于构建微信小程序的开源项目,旨在提供一个本地化的信息分类服务,如租房、求职、二手交易等。通过这个源码,开发者可以了解到微信小程序开发的基本流程和技术栈,同时也...
二手车源码和全国版二手车分类信息是IT领域中与网站开发和数据管理相关的知识点。这里主要涉及了几个关键点:网站构建、数据库管理和用户认证。 首先,二手车分类信息平台是一种在线服务,允许用户查找和发布二手车...
在千月影视源码中,后端可能包含API接口,用于前端获取和更新数据。这些接口可能包括登录验证、影片搜索、播放控制等功能。同时,后端可能还实现了权限控制,例如管理员(admin)账户的管理权限,以及普通用户的观看...
开放的API接口使得OpenNetAdmin能够与其他系统无缝集成,例如CRM、面板、监控工具等,实现自动化工作流程。 8. **安装与升级** 安装过程相对简单,只需按照官方提供的文档步骤即可完成。同时,系统提供自动更新...
总的来说,API域名搜索V1.2是一个专为代理商打造的高效工具,它通过开放的API接口和源代码,提供了强大的域名查询功能。同时,配套的自助服务和详细资料,使得这个工具更加易于理解和使用,极大地提升了代理商的服务...
Ename是一家提供域名注册、管理服务的公司,其提供的API接口允许开发者通过特定的请求获取域名的WHOIS信息。在这个系统中,"数据小偷"可能指的是利用Ename的接口抓取和解析WHOIS数据。 4. **数据库操作**: 虽然...
二手网源码通常包含了处理商品发布、交易流程、用户管理、支付接口等一系列功能的代码。 【描述】"源码,最新的源码二手网源码|池洲二手网|网站源码"强调了这是最新版本的源代码,意味着它可能包含了一些最新的技术...
【PHP授权系统完整版v2.7.0定制版】是一个专为PHP应用程序设计的授权系统,它提供了全面的授权管理功能,包括...在实际应用中,可能还会涉及到API接口设计、错误处理、日志记录等多个方面,以提供稳定可靠的授权服务。
9. **API接口**:如果源码涉及到与其他系统交互,可能包含了API接口的设计和实现,包括RESTful API或WebSocket。理解API的设计原则和规范对源码分析很有帮助。 10. **测试与调试**:源码可能包含单元测试和集成测试...
7. **API接口**:服务端通常会提供API接口给Android端调用,如商品信息获取、下单、支付等。这些接口需要遵循RESTful原则,具有良好的文档和版本控制。 8. **测试与部署**:在发布前,系统需要经过单元测试、集成...
这类源码通常包括多种网络请求方法,如HTTP或HTTPS,以模拟用户从不同地理位置或网络服务提供商访问网站的情况。它能够帮助网站管理员了解其站点在全球范围内的表现,找出可能存在的访问问题,如延迟、丢包或无法...
总之,这个压缩包中的源码实例展示了如何利用微信小程序框架,结合API接口,开发一个实用的查询应用。对于初学者来说,这是一个很好的学习和实践案例,涵盖了从数据获取、用户交互到页面渲染等多个核心环节。通过...
4. **数据抓取**:为了填充内容,源码可能集成了数据抓取或API接口,以便自动更新网络上的热门笑话。 5. **SEO优化**:考虑到搜索引擎的友好性,源码会包含相应的SEO设置,如元标签、关键字优化等,帮助网站获取更多...
5. **易于定制化**:提供开放的API接口和文档,方便开发者根据实际需求进行二次开发和定制。 #### 三、技术栈与架构 1. **前端技术栈**: - HTML5/CSS3/JavaScript:构建响应式布局和交互逻辑。 - Vue.js/...