Esempio n. 1
0
        /// <summary>
        /// 根据recordId获取解析记录的详细信息。
        /// </summary>
        /// <param name="recordId"></param>
        /// <returns></returns>
        public override DomainRecordInfo DescribeDomainRecordInfo(string recordId, string domain)
        {
            var request = new DescribeDomainRecordInfoRequest()
            {
                RecordId = recordId
            };

            try
            {
                var response = client.GetAcsResponse(request);
                if (response == null || response.HttpResponse.Content == null || response.HttpResponse.Content.Length == 0)
                {
                    throw new Exception("Describe subDomain records info is null.");
                }
                string result = Encoding.UTF8.GetString(response.HttpResponse.Content);
                return(new JsonSerializer().Deserialize <DomainRecordInfo>(new JsonTextReader(new StringReader(result))));
            }
            catch (ServerException e)
            {
                throw new Exception($"Aliyun server error. {e.Message}");
            }
            catch (ClientException e)
            {
                throw new Exception($"Reuqest client error. errcode is {e.ErrorCode}, {e.Message}");
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 从阿里云服务器获取域名记录信息
        /// </summary>
        /// <returns></returns>
        private string getAliDnsRecordDomainIP()
        {
            clientProfile = DefaultProfile.GetProfile("cn-hangzhou", textBox_accessKeyId.Text.ToString(), textBox_accessKeySecret.Text.ToString());
            client        = new DefaultAcsClient(clientProfile);
            DescribeDomainRecordInfoRequest request = new DescribeDomainRecordInfoRequest();

            request.RecordId = textBox_recordId.Text.ToString();
            try
            {
                DescribeDomainRecordInfoResponse response = client.GetAcsResponse(request);
                string fullDomain = response.RR.ToString() + "." + response.DomainName.ToString();
                if (response.Value != "0.0.0.0")
                {
                    if (fullDomain != fullDomainName.Text.ToString())
                    {
                        textBox_log.AppendText(System.DateTime.Now.ToString() + " " + "阿里云DNS域名记录:" + response.RecordId + " 对应域名为:" + fullDomain + "\r\n");
                        textBox_log.AppendText(System.DateTime.Now.ToString() + " " + "配置文件域名记录:" + textBox_recordId.Text.ToString() + " 对应域名为:" + fullDomainName.Text.ToString() + "\r\n");
                        textBox_log.AppendText(System.DateTime.Now.ToString() + " " + "配置文件设置错误!可能原因是修改域名记录后未及时添加,已经自动修改配置文件与服务器记录一致!" + "\r\n");
                        fullDomainName.Text = fullDomain;
                        cfg.SaveAppSetting("fullDomainName", fullDomain);
                    }
                    textBox_log.AppendText(System.DateTime.Now.ToString() + " " + "域名:" + response.RR + "." + response.DomainName + " 已经绑定IP:" + response.Value + "\r\n");
                    textBox_recordId.Text          = response.RecordId;
                    globalRR.Text                  = response.RR;
                    globalDomainType.Text          = response.Type;
                    globalValue.Text               = response.Value;
                    label_TTL.Text                 = Convert.ToString(response.TTL);
                    label_DomainIpStatus.Text      = "已绑定";
                    label_DomainIpStatus.ForeColor = System.Drawing.Color.FromArgb(0, 0, 0, 255);
                    return(response.Value);
                }
                textBox_log.AppendText(System.DateTime.Now.ToString() + " " + "获取域名绑定IP失败!" + "\r\n");
            }
            //处理错误
            catch (Exception error)
            {
                textBox_log.AppendText(System.DateTime.Now.ToString() + " " + "getAliDnsRecordDomainIP() Exception:  " + error + "\r\n");
            }

            /*
             * catch (ServerException e)
             * {
             *  textBox_log.AppendText(System.DateTime.Now.ToString() + " " + "Server Exception:  " + e.ErrorCode + e.ErrorMessage + "\r\n");
             * }
             * catch (ClientException e)
             * {
             *  textBox_log.AppendText(System.DateTime.Now.ToString() + " " + "Client Exception:  " + e.ErrorCode + e.ErrorMessage + "\r\n");
             * }*/
            label_DomainIpStatus.Text      = "未绑定";
            label_DomainIpStatus.ForeColor = System.Drawing.Color.FromArgb(255, 255, 0, 0);
            return("0.0.0.0");
        }
Esempio n. 3
0
        /// <summary>
        /// 获取解析的记录值
        /// </summary>
        /// <param name="RecordID"></param>
        /// <returns></returns>
        public string GetDomainRecordValue(string RecordID)
        {
            var request = new DescribeDomainRecordInfoRequest()
            {
                RecordId = RecordID
            };

            try
            {
                var response = client.GetAcsResponse(request);
                return(response.Value);
            }
            catch
            {
                return(string.Empty);
            }
        }
Esempio n. 4
0
        private string getDomainIP()
        {
            DescribeDomainRecordInfoRequest request = new DescribeDomainRecordInfoRequest();

            request.RecordId = recordId.Text;
            try
            {
                DescribeDomainRecordInfoResponse response = client.GetAcsResponse(request);
                return(response.Value);
            }
            //处理错误
            catch (ServerException e)
            {
                MessageBox.Show("Server Exception: " + e.ErrorCode + e.ErrorMessage);
                return("0.0.0.0");
            }
            catch (ClientException e)
            {
                MessageBox.Show("Client Exception: " + e.ErrorCode + e.ErrorMessage);
                return("0.0.0.0");
            }
        }