Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot resolve third-level domain, eg XX.uk.com #141

Open
dylanjbarth opened this issue Jun 1, 2018 · 0 comments
Open

Cannot resolve third-level domain, eg XX.uk.com #141

dylanjbarth opened this issue Jun 1, 2018 · 0 comments

Comments

@dylanjbarth
Copy link

I am trying to get whois information for websites like itspecialists.uk.com ie a third-level registered domain name. I am able to lookup this domain using 3rd-party tools like mxtoolbox: https://mxtoolbox.com/SuperTool.aspx?action=mx%3aitspecialists.uk.com&run=toolpage#

However, when I try from the command line and using python-whois, I am unable to find the correct whois server to query against.

In [17]: pythonwhois.get_whois(domain)
Out[17]:
{'contacts': {'admin': None,
  'billing': None,
  'registrant': None,
  'tech': None},
 'raw': [u'No match for "ITSPECIALISTS.UK.COM".\n>>> Last update of whois database: 2018-06-01T20:21:36Z <<<\n\nNOTICE: The expiration date displayed in this record is the date the\nregistrar\'s sponsorship of the domain name registration in the registry is\ncurrently set to expire. This date does not necessarily reflect the expiration\ndate of the domain name registrant\'s agreement with the sponsoring\nregistrar.  Users may consult the sponsoring registrar\'s Whois database to\nview the registrar\'s reported date of expiration for this registration.\n\nTERMS OF USE: You are not authorized to access or query our Whois\ndatabase through the use of electronic processes that are high-volume and\nautomated except as reasonably necessary to register domain names or\nmodify existing registrations; the Data in VeriSign Global Registry\nServices\' ("VeriSign") Whois database is provided by VeriSign for\ninformation purposes only, and to assist persons in obtaining information\nabout or related to a domain name registration record. VeriSign does not\nguarantee its accuracy. By submitting a Whois query, you agree to abide\nby the following terms of use: You agree that you may use this Data only\nfor lawful purposes and that under no circumstances will you use this Data\nto: (1) allow, enable, or otherwise support the transmission of mass\nunsolicited, commercial advertising or solicitations via e-mail, telephone,\nor facsimile; or (2) enable high volume, automated, electronic processes\nthat apply to VeriSign (or its computer systems). The compilation,\nrepackaging, dissemination or other use of this Data is expressly\nprohibited without the prior written consent of VeriSign. You agree not to\nuse electronic processes that are automated and high-volume to access or\nquery the Whois database except as reasonably necessary to register\ndomain names or modify existing registrations. VeriSign reserves the right\nto restrict your access to the Whois database in its sole discretion to ensure\noperational stability.  VeriSign may restrict or terminate your access to the\nWhois database for failure to abide by these terms of use. VeriSign\nreserves the right to modify these terms at any time.\n\nThe Registry database contains ONLY .COM, .NET, .EDU domains and\nRegistrars.\n']}

When I explicitly pass in gandi (which I determined using mxtoolbox) python-whois returns correctly.

In [20]: pythonwhois.net.get_whois_raw(domain, "whois.gandi.net")
Out[20]: [u'Domain Name: ITSPECIALISTS.UK.COM\r\nRegistry Domain ID: D2172668-CNIC\r\nRegistrar WHOIS Server: whois.gandi.net\r\nRegistrar URL: http://www.gandi.net/\r\nUpdated Date: 2015-06-16T11:02:04.0Z\r\nCreation Date: 2014-03-14T08:53:16.0Z\r\nRegistry Expiry Date: 2024-03-14T23:59:59.0Z\r\nRegistrar: Gandi SAS\r\nRegistrar IANA ID: 81\r\nDomain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited\r\nRegistrant Email: https://whois.centralnic.com/contact/itspecialists.uk.com/registrant\r\nAdmin Email: https://whois.centralnic.com/contact/itspecialists.uk.com/admin\r\nTech Email: https://whois.centralnic.com/contact/itspecialists.uk.com/tech\r\nName Server: NSE1.REYREY.COM\r\nName Server: NSE3.REYREY.COM\r\nName Server: NSE4.REYREY.COM\r\nDNSSEC: unsigned\r\nBilling Email: https://whois.centralnic.com/contact/itspecialists.uk.com/billing\r\nRegistrar Abuse Contact Email: [email protected]\r\nRegistrar Abuse Contact Phone: +33.170393740\r\nURL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/\r\n>>> Last update of WHOIS database: 2018-06-01T20:23:42.0Z <<<\r\n\r\nFor more information on Whois status codes, please visit https://icann.org/epp\r\n\r\nIMPORTANT NOTE: The Whois changed on 2018-05-25: please see the\r\nfollowing page:\r\n\r\n    https://www.centralnic.com/company/news/2018/gdpr\r\n\r\nThis whois service is provided by CentralNic Ltd and only contains\r\ninformation pertaining to Internet domain names registered by our\r\nour customers. By using this service you are agreeing (1) not to use any\r\ninformation presented here for any purpose other than determining\r\nownership of domain names, (2) not to store or reproduce this data in\r\nany way, (3) not to use any high-volume, automated, electronic processes\r\nto obtain data from this service. Abuse of this service is monitored and\r\nactions in contravention of these terms will result in being permanently\r\nblacklisted. All data is (c) CentralNic Ltd https://www.centralnic.com/\r\n\r\nAccess to the whois service is rate limited. For more information, please\r\nsee https://registrar-console.centralnic.com/pub/whois_guidance.\r\n']

So the question is, how can I sort out which whois server is the right one to query for these tricky third-level domains? Because in this case, looking up the root server doesn't help:

In [22]: pythonwhois.net.get_root_server(domain)
Out[22]: u'whois.verisign-grs.com'

Happy to submit a PR if there is a way to accomplish this @joepie91, fantastic lib you have here and want to help improve it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant