Incorrect responses using Whois and IsDomainRegistered

I'm using SEOTools to validate the whoisnotfoundregex values for each TLD... e.g to test if the entry is correct for "nic222.academy", i'm using IsDomainRegistered("nic222.academy")... I should also add that i've removed the default TLDs block of code, so it's not using whois-servers.net - only the TLD entries I give it (I assume).

it works ok for most TLDs, but fails with some 3rd-level domains... two examples are.

  1. it works with .ai and .am, but fails with .co.ai and .co.am using the following entries in config.xml:

     <Tld Name="am" WhoIsServer="whois.amnic.net" WhoIsNotFoundRegex="No match" WhoIsCreatedRegex="(?:Creation Date:\s*(\d{4}-\d{2}-\d{2}))" WhoIsUpdatedRegex="(?:Updated Date:\s*(\d{4}-\d{2}-\d{2}))" WhoIsExpiresRegex="(?:Registry Expiry Date:\s*(\d{4}-\d{2}-\d{2}))" WhoIsDelayMs="1000" />
     <Tld Name="co.am" WhoIsServer="whois.amnic.net" WhoIsNotFoundRegex="No match" WhoIsCreatedRegex="(?:Creation Date:\s*(\d{4}-\d{2}-\d{2}))" WhoIsUpdatedRegex="(?:Updated Date:\s*(\d{4}-\d{2}-\d{2}))" WhoIsExpiresRegex="(?:Registry Expiry Date:\s*(\d{4}-\d{2}-\d{2}))" WhoIsDelayMs="1000" />
     <Tld Name="com.am" WhoIsServer="whois.amnic.net" WhoIsNotFoundRegex="No match" WhoIsCreatedRegex="(?:Creation Date:\s*(\d{4}-\d{2}-\d{2}))" WhoIsUpdatedRegex="(?:Updated Date:\s*(\d{4}-\d{2}-\d{2}))" WhoIsExpiresRegex="(?:Registry Expiry Date:\s*(\d{4}-\d{2}-\d{2}))" WhoIsDelayMs="1000" />
     <Tld Name="net.am" WhoIsServer="whois.amnic.net" WhoIsNotFoundRegex="No match" WhoIsCreatedRegex="(?:Creation Date:\s*(\d{4}-\d{2}-\d{2}))" WhoIsUpdatedRegex="(?:Updated Date:\s*(\d{4}-\d{2}-\d{2}))" WhoIsExpiresRegex="(?:Registry Expiry Date:\s*(\d{4}-\d{2}-\d{2}))" WhoIsDelayMs="1000" />
     <Tld Name="org.am" WhoIsServer="whois.amnic.net" WhoIsNotFoundRegex="No match" WhoIsCreatedRegex="(?:Creation Date:\s*(\d{4}-\d{2}-\d{2}))" WhoIsUpdatedRegex="(?:Updated Date:\s*(\d{4}-\d{2}-\d{2}))" WhoIsExpiresRegex="(?:Registry Expiry Date:\s*(\d{4}-\d{2}-\d{2}))" WhoIsDelayMs="1000" />
     <Tld Name="radio.am" WhoIsServer="whois.centralnic.com" WhoIsNotFoundRegex="DOMAIN NOT FOUND" WhoIsCreatedRegex="(?:Creation Date:\s*(\d{4}-\d{2}-\d{2}))" WhoIsUpdatedRegex="(?:Updated Date:\s*(\d{4}-\d{2}-\d{2}))" WhoIsExpiresRegex="(?:Registry Expiry Date:\s*(\d{4}-\d{2}-\d{2}))" WhoIsDelayMs="1000" />
    

the whois strings are definitely correct - tested on sysinternals whois and elsewhere... weirdly, some 3rd level TLDs such as .co.ae and .com.af work fine.

if you search for 'nic222.am', it will show it's available (correctly); but do the same with 'nic222.co.am' or 'nic222.radio.am' (which uses Centralnic WHOIS server), then both seem to show as registered, but they're NOT registered.

so I assume there is some bug somewhere - any ideas ?

I should also mention a second bug where if you use whois("amazon.com.ai"), it shows the whois result for "com.ai" rather than "amazon.com.ai" - this is just an example, the command is failing with many 3rd level ccTLDs.

i've just found a weird 3rd bug with IsDomainRegistered when checking Australian Domains - I was using the following entry to check "nic222.asn.au" (which is available)...

   <Tld Name="asn.au" WhoIsServer="whois.audns.net.au" WhoIsNotFoundRegex="No Data Found" WhoIsCreatedRegex="(?:Creation Date:\s*(\d{4}-\d{2}-\d{2}))" WhoIsUpdatedRegex="(?:Updated Date:\s*(\d{4}-\d{2}-\d{2}))" WhoIsExpiresRegex="(?:Registry Expiry Date:\s*(\d{4}-\d{2}-\d{2}))" WhoIsDelayMs="1000" />

but it caused an error popup "Object Reference not set to an instance of an object".
the above entry in config.xml is correct, so couldn't understand why it wouldn't work.

it seems that in order to make it work, I need to add a fake entry for .au -

    <Tld Name="au" WhoIsServer="whois.audns.net.au" WhoIsNotFoundRegex="No Data Found" WhoIsCreatedRegex="(?:Creation Date:\s*(\d{4}-\d{2}-\d{2}))" WhoIsUpdatedRegex="(?:Updated Date:\s*(\d{4}-\d{2}-\d{2}))" WhoIsExpiresRegex="(?:Registry Expiry Date:\s*(\d{4}-\d{2}-\d{2}))" WhoIsDelayMs="1000" />    

it's not possible to register 2nd-level .au domains, so adding this shouldn't really be necessary and i'd consider it to be a bug.

i'm using Excel 2007, Win7 and v5.14

Try the 5.2 beta: Looking for SeoTools 6.0 beta testers! (updated 2016-11-03)

Hi Niels,

thanks for the reply, and I do appreciate the response, but unfortunately I spotted this in v5.2.5 beta changelog...

All "WhoIs" and "Http" functions now requires a Pro subscription.

i'm sorry, but as i'm only using the isDomainRegistered function of SEOTools (and no other Whois/SEO functions) in order to occasionally perform a bulk check of my own TLD settings (not yours or whois-servers.net) to be used with a specific shopping cart software, it currently isn't really worth paying £80GBP per year.

i'll carry on with the free v5.1.4 as it's working fine for gTLDs... by the end of the process, i'm going to have a very long list of correct entries for every TLD that uses a Port 43 whois server, so I won't have any need to use your settings.

How about this: If you're willing to share your TLDs settings I'll give you a free license for SeoTools Pro.

We can work together to find out the bugs required to solve your issues with 2:n level TLDs. .

BTW: SeoTools 5.2 has a nice Regexp-editor for TLD settings and can do whois lookups a lot faster.