最近公司要做一个基于新网的API,在自己的系统中实现实时查询域名注册情况,并且要能实时注册,注册费用自动从我们的代理帐户中扣除,下面是我写的核心实现类代码: public class XinNetApiBase {
//默认代理编号
public readonly static string AgentID = \;
private Encoding _WebEncode = Encoding.GetEncoding(\); private string _RequestString; private string _Result; private string _RequestUrl;
private WebClient _EWebClient = new WebClient();
///
public Encoding WebEncode {
get { return _WebEncode; } set { _WebEncode = value; } }
///
public string RequestString {
get { return _RequestString; } set { _RequestString = value; } }
///
get { return _Result; } set { _Result = value; } }
///
public string RequestUrl {
get { return _RequestUrl; } set { _RequestUrl = value; } }
///
/// 客户端与服务器通信类 ///
public WebClient EWebClient {
get { return _EWebClient; } set { _EWebClient = value; } }
public XinNetApiBase(ApiType _apitype, List
{
this.RequestUrl = GetApiUrl(_apitype);
this.RequestString = GetRequestString(_list); this.GetHttp(); }
public XinNetApiBase(string _ApiUrl, List
this.RequestUrl = _ApiUrl;
this.RequestString = GetRequestString(_list); }
public string GetRequestString(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, \);
this.EWebClient.Encoding = this.WebEncode;
this.Result = this.EWebClient.UploadString(new Uri(this.R
equestUrl), \, this.RequestString);
return this.Result;
}
public string GetApiUrl(ApiType _ApiType) {
string _Url = \; switch (_ApiType) {
case ApiType.Check:
_Url = \d=check&charset=utf-8\; break;
case ApiType.Register:
_Url = \d=Register&charset=utf-8\; break;
case ApiType.Status:
_Url = \d=Status&charset=utf-8\; break;
case ApiType.ModDns:
_Url = \d=ModDns&charset=utf-8\; break;
case ApiType.domain:
_Url = \d=DomainRenew&charset=utf-8\;
break;
case ApiType.GetProductKey:
_Url = \d=GetProductKey&charset=utf-8\; break;
case ApiType.ChangeProductKey:
_Url = \d=ChangeProductKey&charset=utf-8\; break;
case ApiType.ModifyContactor:
_Url = \d=ModifyContactor&charset=utf-8\; break; default:
_Url = \d=testmd5&charset=utf-8\; break; }
return _Url; }
///
/// /// ///
public static string MD5(string _ConvertString, int _Len) {
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库新网域名查询和注册API接口类源码在线全文阅读。
相关推荐: