コード例 #1
0
        public void SetHostEntry(string hostname, string address)
        {
            var querystringParameters = StartParametersForCommand("namecheap.domains.dns.setHosts");

            AddSDLandTLDParameters(hostname, querystringParameters);
            querystringParameters.Add("HostName1", PartsOfDNSRecord.GetSubdomain(hostname));
            querystringParameters.Add("RecordType1", "A");
            querystringParameters.Add("Address1", address);
            querystringParameters.Add("MXPref1", "10");   // only valid for MX records, though sample showed it being set
            querystringParameters.Add("TTL1", "180");
            querystringParameters.Add("EmailType", "OX"); // ?

            GetApiResult(querystringParameters);
        }
コード例 #2
0
        public string GetHostEntry(string hostname)
        {
            var querystringParameters = StartParametersForCommand("namecheap.domains.dns.getHosts");

            AddSDLandTLDParameters(hostname, querystringParameters);

            var subdomain = PartsOfDNSRecord.GetSubdomain(hostname);

            var result = GetApiResult(querystringParameters);

            var ns = GetNamecheapNamespace();

            var commandResponse = result.Root.Elements(ns + "CommandResponse").Single();
            var getHostsResult  = commandResponse.Elements(ns + "DomainDNSGetHostsResult").Single();
            var hosts           = getHostsResult.Elements(ns + "host");
            var host            = hosts.Where(h => h.Attribute("Name").Value == subdomain).Single();

            return(host.Attribute("Address").Value);
        }