Skip to main content

Python package for retrieving WHOIS information of domains.

Project description

whoisdomain

  • A Python package for retrieving WHOIS information of DOMAIN'S ONLY.
  • Python 2.x IS NOT supported.
  • Currently no additional python packages need to be installed.

Notes

  • This package will not support querying ip CIDR ranges or AS information
  • This was a copy of the original DanyCork 'whois'.
    • Significantly refactored in 2023.
    • The output is still compatible with DanyCork 'whois'

Versioning

  • I will start versioning at 1.x.x
    • the second item will be YYYYMMDD,
    • the third item will start from 1 and be only used if more than one update will have to be done in one day.

Versions 1.x.x will keep the output compatible with Danny Cork until 2024-02-03 (February 2024)

Releases

  • Releases are avalable at: Pypi

Pypi releases can be installed with:

  • pip install whoisdomain

Features

Dependencies

  • please install also the command line "whois" of your distribution as this library parses the output of the "whois" cli command of your operating system

Notes for Mac users

  • it has been observed that the default cli whois on Mac is showing each forward step in its output, this makes parsing the result very unreliable.
  • using a brew install whois will give in general better results.

Docker release

Usage example

whoisdomain

ccTLD & TLD support

Most tld's are now autodetected via IANA root db, see the Analizer directory and make suggest.

  • see the file: tld_regexpr
  • for python use: whoisdomain.validTlds()
  • for cli use whoisdomain -S

Support

  • Python 3.x is supported for x >= 9
  • Python 2.x IS NOT supported.

Author's


Updates

  • see Updates for a full history of changes.
  • Only the latest update is mentioned here

1.20230906.1

  • introduce parsing based on functions
  • allow contextual search in splitted data and plain data
  • allow contextual search based on earlier result
  • fix a few tld to return the proper registrant string (not nic handle)

1.20230913.1

  • if you have installed tld (pip install tld) you can enable withPublicSuffix=True to process untill you reach the pseudo tld.
  • the public_suffix info is added if available (and if requested)
  • example case is: ./test2.py -d www.dublin.airport.aero --withPublicSuffix

1.20230913.3

  • fix re.NOFLAGS, it is not compatible with 3.9, it appears in 3.11

1.20230917.1

  • prepare work on pylint
  • switch to logging: all verbose is currently log.debug(); to show set LOGLEVEL=DEBUG before calling, see Makefile: make test
  • experimental: add extractServers: bool default False; when true we will try to extract the "redirect info chain" on rcf1036/whois and jwhois for linux/darwin
  • add missing option to query(), test in production environment done

1.20231102.1

  • fix from kazet for .pl tld.

1.20231115.1

New tld's and removal of a few tlds no longer supported at iana

  • abb, bw, bn, crown, crs, fj (does not work), gp (does not work), weir, realtor, post, mw, pf (a strange one), iq (gives timout), mm, int, hm (does not work)

1.20240129.1

add various second level .uk for which i can create tests; comments in the tld_regexpr.py; a few have no example or whois server to test with 2024-01-23 add switch not to ignore leading www in the domain request

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

whoisdomain-1.20240129.1.tar.gz (51.6 kB view details)

Uploaded Source

Built Distribution

whoisdomain-1.20240129.1-py3-none-any.whl (64.9 kB view details)

Uploaded Python 3

File details

Details for the file whoisdomain-1.20240129.1.tar.gz.

File metadata

  • Download URL: whoisdomain-1.20240129.1.tar.gz
  • Upload date:
  • Size: 51.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.1

File hashes

Hashes for whoisdomain-1.20240129.1.tar.gz
Algorithm Hash digest
SHA256 5e4f82306bc0e80ee09e8fbdab5942ccf504a5b36169bd8269bc7c36076295b2
MD5 f4f5d91f658d85128e13efa59d737850
BLAKE2b-256 9c331259c48760e82c94017d3192359d9efd9ebc3a3ac90483dfe40731b121f3

See more details on using hashes here.

File details

Details for the file whoisdomain-1.20240129.1-py3-none-any.whl.

File metadata

File hashes

Hashes for whoisdomain-1.20240129.1-py3-none-any.whl
Algorithm Hash digest
SHA256 231c9995d5d6c8666bebf6c4e4ff3fefd8821227dde08b48b42acc4744a0411e
MD5 20101c85704a6dd1ea6efc1a69565205
BLAKE2b-256 6c2ab9c07b94fad7b746b6b9a96f8310e304316d265c01dd29082d29c4cf9fd9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page