Hardcoded nic.ps root WHOIS server, and added nic.ps parsing, plus misc. fixes. Fixes #15.

master
Sven Slootweg 10 years ago
parent 5d32a3c883
commit 6ecf4efa98

@ -5,7 +5,8 @@ from . import shared
def get_whois_raw(domain, server="", previous=[], rfc3490=True):
# Sometimes IANA simply won't give us the right root WHOIS server
exceptions = {
".ac.uk": "whois.ja.net"
".ac.uk": "whois.ja.net",
".ps": "whois.pnina.ps"
}
if rfc3490:
@ -41,7 +42,7 @@ def get_whois_raw(domain, server="", previous=[], rfc3490=True):
response = record
break
for line in [x.strip() for x in response.splitlines()]:
match = re.match("(refer|whois server|referral url|whois server|registrar whois):\s*([^\s]+)", line, re.IGNORECASE)
match = re.match("(refer|whois server|referral url|whois server|registrar whois):\s*([^\s]+\.[^\s]+)", line, re.IGNORECASE)
if match is not None:
referal_server = match.group(2)
if referal_server != server:

@ -505,7 +505,7 @@ def parse_registrants(data):
"Registrant ID:(?P<handle>.+)\nRegistrant Name:(?P<name>.*)\n(?:Registrant Organization:(?P<organization>.*)\n)?Registrant Address1?:(?P<street1>.*)\n(?:Registrant Address2:(?P<street2>.*)\n)?(?:Registrant Address3:(?P<street3>.*)\n)?Registrant City:(?P<city>.*)\nRegistrant State/Province:(?P<state>.*)\nRegistrant Country/Economy:(?P<country>.*)\nRegistrant Postal Code:(?P<postalcode>.*)\nRegistrant Phone:(?P<phone>.*)\n(?:Registrant Phone Ext.:(?P<phone_ext>.*)\n)?(?:Registrant FAX:(?P<fax>.*)\n)?(?:Registrant FAX Ext.:(?P<fax_ext>.*)\n)?Registrant E-mail:(?P<email>.*)", # .ME, DotAsia
"Registrant ID:\s*(?P<handle>.+)\nRegistrant Name:\s*(?P<name>.+)\nRegistrant Organization:\s*(?P<organization>.*)\nRegistrant Address1:\s*(?P<street1>.+)\nRegistrant Address2:\s*(?P<street2>.*)\nRegistrant City:\s*(?P<city>.+)\nRegistrant State/Province:\s*(?P<state>.+)\nRegistrant Postal Code:\s*(?P<postalcode>.+)\nRegistrant Country:\s*(?P<country>.+)\nRegistrant Country Code:\s*(?P<country_code>.+)\nRegistrant Phone Number:\s*(?P<phone>.+)\nRegistrant Email:\s*(?P<email>.+)\n", # .CO Internet
"Registrant Contact: (?P<handle>.+)\nRegistrant Organization: (?P<organization>.+)\nRegistrant Name: (?P<name>.+)\nRegistrant Street: (?P<street>.+)\nRegistrant City: (?P<city>.+)\nRegistrant Postal Code: (?P<postalcode>.+)\nRegistrant State: (?P<state>.+)\nRegistrant Country: (?P<country>.+)\nRegistrant Phone: (?P<phone>.*)\nRegistrant Phone Ext: (?P<phone_ext>.*)\nRegistrant Fax: (?P<fax>.*)\nRegistrant Fax Ext: (?P<fax_ext>.*)\nRegistrant Email: (?P<email>.*)\n", # Key-Systems GmbH
"(?:Registrant ID:[ ]*(?P<handle>.*)\n)?Registrant Name:[ ]*(?P<name>.*)\n(?:Registrant Organization:[ ]*(?P<organization>.*)\n)?Registrant Street:[ ]*(?P<street1>.+)\n(?:Registrant Street:[ ]*(?P<street2>.+)\n)?(?:Registrant Street:[ ]*(?P<street3>.+)\n)?Registrant City:[ ]*(?P<city>.+)\nRegistrant State(?:\/Province)?:[ ]*(?P<state>.*)\nRegistrant Postal Code:[ ]*(?P<postalcode>.+)\nRegistrant Country:[ ]*(?P<country>.+)\n(?:Registrant Phone:[ ]*(?P<phone>.*)\n)?(?:Registrant Phone Ext:[ ]*(?P<phone_ext>.*)\n)?(?:Registrant Fax:[ ]*(?P<fax>.*)\n)?(?:Registrant Fax Ext:[ ]*(?P<fax_ext>.*)\n)?(?:Registrant Email:[ ]*(?P<email>.+)\n)?", # WildWestDomains, GoDaddy, Namecheap/eNom, Ascio, Musedoma (.museum), EuroDNS
"(?:Registrant ID:[ ]*(?P<handle>.*)\n)?Registrant Name:[ ]*(?P<name>.*)\n(?:Registrant Organization:[ ]*(?P<organization>.*)\n)?Registrant Street:[ ]*(?P<street1>.+)\n(?:Registrant Street:[ ]*(?P<street2>.+)\n)?(?:Registrant Street:[ ]*(?P<street3>.+)\n)?Registrant City:[ ]*(?P<city>.+)\nRegistrant State(?:\/Province)?:[ ]*(?P<state>.*)\nRegistrant Postal Code:[ ]*(?P<postalcode>.+)\nRegistrant Country:[ ]*(?P<country>.+)\n(?:Registrant Phone:[ ]*(?P<phone>.*)\n)?(?:Registrant Phone Ext:[ ]*(?P<phone_ext>.*)\n)?(?:Registrant Fax:[ ]*(?P<fax>.*)\n)?(?:Registrant Fax Ext:[ ]*(?P<fax_ext>.*)\n)?(?:Registrant Email:[ ]*(?P<email>.+)\n)?", # WildWestDomains, GoDaddy, Namecheap/eNom, Ascio, Musedoma (.museum), EuroDNS, nic.ps
"Registrant\n(?: (?P<organization>.+)\n)? (?P<name>.+)\n Email:(?P<email>.+)\n (?P<street1>.+)\n(?: (?P<street2>.+)\n)? (?P<postalcode>.+) (?P<city>.+)\n (?P<country>.+)\n Tel: (?P<phone>.+)\n\n", # internet.bs
" Registrant Contact Details:[ ]*\n (?P<organization>.*)\n (?P<name>.*)[ ]{2,}\((?P<email>.*)\)\n (?P<street1>.*)\n(?: (?P<street2>.*)\n)?(?: (?P<street3>.*)\n)? (?P<city>.*)\n (?P<state>.*),(?P<postalcode>.*)\n (?P<country>.*)\n Tel. (?P<phone>.*)", # Whois.com
"owner-id:[ ]*(?P<handle>.*)\n(?:owner-organization:[ ]*(?P<organization>.*)\n)?owner-name:[ ]*(?P<name>.*)\nowner-street:[ ]*(?P<street>.*)\nowner-city:[ ]*(?P<city>.*)\nowner-zip:[ ]*(?P<postalcode>.*)\nowner-country:[ ]*(?P<country>.*)\n(?:owner-phone:[ ]*(?P<phone>.*)\n)?(?:owner-fax:[ ]*(?P<fax>.*)\n)?owner-email:[ ]*(?P<email>.*)", # InterNetworX
@ -538,7 +538,7 @@ def parse_registrants(data):
"Tech(?:nical)? ID:(?P<handle>.+)\nTech(?:nical)? Name:(?P<name>.*)\n(?:Tech(?:nical)? Organization:(?P<organization>.*)\n)?Tech(?:nical)? Address1?:(?P<street1>.*)\n(?:Tech(?:nical)? Address2:(?P<street2>.*)\n)?(?:Tech(?:nical)? Address3:(?P<street3>.*)\n)?Tech(?:nical)? City:(?P<city>.*)\nTech(?:nical)? State/Province:(?P<state>.*)\nTech(?:nical)? Country/Economy:(?P<country>.*)\nTech(?:nical)? Postal Code:(?P<postalcode>.*)\nTech(?:nical)? Phone:(?P<phone>.*)\n(?:Tech(?:nical)? Phone Ext.:(?P<phone_ext>.*)\n)?(?:Tech(?:nical)? FAX:(?P<fax>.*)\n)?(?:Tech(?:nical)? FAX Ext.:(?P<fax_ext>.*)\n)?Tech(?:nical)? E-mail:(?P<email>.*)", # .ME, DotAsia
"Technical Contact ID:\s*(?P<handle>.+)\nTechnical Contact Name:\s*(?P<name>.+)\nTechnical Contact Organization:\s*(?P<organization>.*)\nTechnical Contact Address1:\s*(?P<street1>.+)\nTechnical Contact Address2:\s*(?P<street2>.*)\nTechnical Contact City:\s*(?P<city>.+)\nTechnical Contact State/Province:\s*(?P<state>.+)\nTechnical Contact Postal Code:\s*(?P<postalcode>.+)\nTechnical Contact Country:\s*(?P<country>.+)\nTechnical Contact Country Code:\s*(?P<country_code>.+)\nTechnical Contact Phone Number:\s*(?P<phone>.+)\nTechnical Contact Email:\s*(?P<email>.+)\n", # .CO Internet
"Tech Contact: (?P<handle>.+)\nTech Organization: (?P<organization>.+)\nTech Name: (?P<name>.+)\nTech Street: (?P<street>.+)\nTech City: (?P<city>.+)\nTech Postal Code: (?P<postalcode>.+)\nTech State: (?P<state>.+)\nTech Country: (?P<country>.+)\nTech Phone: (?P<phone>.*)\nTech Phone Ext: (?P<phone_ext>.*)\nTech Fax: (?P<fax>.*)\nTech Fax Ext: (?P<fax_ext>.*)\nTech Email: (?P<email>.*)\n", # Key-Systems GmbH
"(?:Tech ID:[ ]*(?P<handle>.*)\n)?Tech[ ]*Name:[ ]*(?P<name>.*)\n(?:Tech[ ]*Organization:[ ]*(?P<organization>.*)\n)?Tech[ ]*Street:[ ]*(?P<street1>.+)\n(?:Tech[ ]*Street:[ ]*(?P<street2>.+)\n)?(?:Tech[ ]*Street:[ ]*(?P<street3>.+)\n)?Tech[ ]*City:[ ]*(?P<city>.+)\nTech[ ]*State(?:\/Province)?:[ ]*(?P<state>.*)\nTech[ ]*Postal[ ]*Code:[ ]*(?P<postalcode>.+)\nTech[ ]*Country:[ ]*(?P<country>.+)\n(?:Tech[ ]*Phone:[ ]*(?P<phone>.*)\n)?(?:Tech[ ]*Phone[ ]*Ext:[ ]*(?P<phone_ext>.*)\n)?(?:Tech[ ]*Fax:[ ]*(?P<fax>.*)\n)?(?:Tech[ ]*Fax[ ]*Ext:\s*?(?P<fax_ext>.*)\n)?(?:Tech[ ]*Email:[ ]*(?P<email>.+)\n)?", # WildWestDomains, GoDaddy, Namecheap/eNom, Ascio, Musedoma (.museum), EuroDNS
"(?:Tech ID:[ ]*(?P<handle>.*)\n)?Tech[ ]*Name:[ ]*(?P<name>.*)\n(?:Tech[ ]*Organization:[ ]*(?P<organization>.*)\n)?Tech[ ]*Street:[ ]*(?P<street1>.+)\n(?:Tech[ ]*Street:[ ]*(?P<street2>.+)\n)?(?:Tech[ ]*Street:[ ]*(?P<street3>.+)\n)?Tech[ ]*City:[ ]*(?P<city>.+)\nTech[ ]*State(?:\/Province)?:[ ]*(?P<state>.*)\nTech[ ]*Postal[ ]*Code:[ ]*(?P<postalcode>.+)\nTech[ ]*Country:[ ]*(?P<country>.+)\n(?:Tech[ ]*Phone:[ ]*(?P<phone>.*)\n)?(?:Tech[ ]*Phone[ ]*Ext:[ ]*(?P<phone_ext>.*)\n)?(?:Tech[ ]*Fax:[ ]*(?P<fax>.*)\n)?(?:Tech[ ]*Fax[ ]*Ext:\s*?(?P<fax_ext>.*)\n)?(?:Tech[ ]*Email:[ ]*(?P<email>.+)\n)?", # WildWestDomains, GoDaddy, Namecheap/eNom, Ascio, Musedoma (.museum), EuroDNS, nic.ps
"Technical Contact\n(?: (?P<organization>.+)\n)? (?P<name>.+)\n Email:(?P<email>.+)\n (?P<street1>.+)\n(?: (?P<street2>.+)\n)? (?P<postalcode>.+) (?P<city>.+)\n (?P<country>.+)\n Tel: (?P<phone>.+)\n\n", # internet.bs
" Technical Contact Details:[ ]*\n (?P<organization>.*)\n (?P<name>.*)[ ]{2,}\((?P<email>.*)\)\n (?P<street1>.*)\n(?: (?P<street2>.*)\n)?(?: (?P<street3>.*)\n)? (?P<city>.*)\n (?P<state>.*),(?P<postalcode>.*)\n (?P<country>.*)\n Tel. (?P<phone>.*)", # Whois.com
"tech-id:[ ]*(?P<handle>.*)\n(?:tech-organization:[ ]*(?P<organization>.*)\n)?tech-name:[ ]*(?P<name>.*)\ntech-street:[ ]*(?P<street>.*)\ntech-city:[ ]*(?P<city>.*)\ntech-zip:[ ]*(?P<postalcode>.*)\ntech-country:[ ]*(?P<country>.*)\n(?:tech-phone:[ ]*(?P<phone>.*)\n)?(?:tech-fax:[ ]*(?P<fax>.*)\n)?tech-email:[ ]*(?P<email>.*)", # InterNetworX
@ -562,7 +562,7 @@ def parse_registrants(data):
"Admin(?:istrative)? ID:(?P<handle>.+)\nAdmin(?:istrative)? Name:(?P<name>.*)\n(?:Admin(?:istrative)? Organization:(?P<organization>.*)\n)?Admin(?:istrative)? Address1?:(?P<street1>.*)\n(?:Admin(?:istrative)? Address2:(?P<street2>.*)\n)?(?:Admin(?:istrative)? Address3:(?P<street3>.*)\n)?Admin(?:istrative)? City:(?P<city>.*)\nAdmin(?:istrative)? State/Province:(?P<state>.*)\nAdmin(?:istrative)? Country/Economy:(?P<country>.*)\nAdmin(?:istrative)? Postal Code:(?P<postalcode>.*)\nAdmin(?:istrative)? Phone:(?P<phone>.*)\n(?:Admin(?:istrative)? Phone Ext.:(?P<phone_ext>.*)\n)?(?:Admin(?:istrative)? FAX:(?P<fax>.*)\n)?(?:Admin(?:istrative)? FAX Ext.:(?P<fax_ext>.*)\n)?Admin(?:istrative)? E-mail:(?P<email>.*)", # .ME, DotAsia
"Administrative Contact ID:\s*(?P<handle>.+)\nAdministrative Contact Name:\s*(?P<name>.+)\nAdministrative Contact Organization:\s*(?P<organization>.*)\nAdministrative Contact Address1:\s*(?P<street1>.+)\nAdministrative Contact Address2:\s*(?P<street2>.*)\nAdministrative Contact City:\s*(?P<city>.+)\nAdministrative Contact State/Province:\s*(?P<state>.+)\nAdministrative Contact Postal Code:\s*(?P<postalcode>.+)\nAdministrative Contact Country:\s*(?P<country>.+)\nAdministrative Contact Country Code:\s*(?P<country_code>.+)\nAdministrative Contact Phone Number:\s*(?P<phone>.+)\nAdministrative Contact Email:\s*(?P<email>.+)\n", # .CO Internet
"Admin Contact: (?P<handle>.+)\nAdmin Organization: (?P<organization>.+)\nAdmin Name: (?P<name>.+)\nAdmin Street: (?P<street>.+)\nAdmin City: (?P<city>.+)\nAdmin State: (?P<state>.+)\nAdmin Postal Code: (?P<postalcode>.+)\nAdmin Country: (?P<country>.+)\nAdmin Phone: (?P<phone>.*)\nAdmin Phone Ext: (?P<phone_ext>.*)\nAdmin Fax: (?P<fax>.*)\nAdmin Fax Ext: (?P<fax_ext>.*)\nAdmin Email: (?P<email>.*)\n", # Key-Systems GmbH
"(?:Admin ID:[ ]*(?P<handle>.*)\n)?Admin[ ]*Name:[ ]*(?P<name>.*)\n(?:Admin[ ]*Organization:[ ]*(?P<organization>.*)\n)?Admin[ ]*Street:[ ]*(?P<street1>.+)\n(?:Admin[ ]*Street:[ ]*(?P<street2>.+)\n)?(?:Admin[ ]*Street:[ ]*(?P<street3>.+)\n)?Admin[ ]*City:[ ]*(?P<city>.+)\nAdmin[ ]*State(?:\/Province)?:[ ]*(?P<state>.*)\nAdmin[ ]*Postal[ ]*Code:[ ]*(?P<postalcode>.+)\nAdmin[ ]*Country:[ ]*(?P<country>.+)\n(?:Admin[ ]*Phone:[ ]*(?P<phone>.*)\n)?(?:Admin[ ]*Phone[ ]*Ext:[ ]*(?P<phone_ext>.*)\n)?(?:Admin[ ]*Fax:[ ]*(?P<fax>.*)\n)?(?:Admin[ ]*Fax[ ]*Ext:\s*?(?P<fax_ext>.*)\n)?(?:Admin[ ]*Email:[ ]*(?P<email>.+)\n)?", # WildWestDomains, GoDaddy, Namecheap/eNom, Ascio, Musedoma (.museum), EuroDNS
"(?:Admin ID:[ ]*(?P<handle>.*)\n)?Admin[ ]*Name:[ ]*(?P<name>.*)\n(?:Admin[ ]*Organization:[ ]*(?P<organization>.*)\n)?Admin[ ]*Street:[ ]*(?P<street1>.+)\n(?:Admin[ ]*Street:[ ]*(?P<street2>.+)\n)?(?:Admin[ ]*Street:[ ]*(?P<street3>.+)\n)?Admin[ ]*City:[ ]*(?P<city>.+)\nAdmin[ ]*State(?:\/Province)?:[ ]*(?P<state>.*)\nAdmin[ ]*Postal[ ]*Code:[ ]*(?P<postalcode>.+)\nAdmin[ ]*Country:[ ]*(?P<country>.+)\n(?:Admin[ ]*Phone:[ ]*(?P<phone>.*)\n)?(?:Admin[ ]*Phone[ ]*Ext:[ ]*(?P<phone_ext>.*)\n)?(?:Admin[ ]*Fax:[ ]*(?P<fax>.*)\n)?(?:Admin[ ]*Fax[ ]*Ext:\s*?(?P<fax_ext>.*)\n)?(?:Admin[ ]*Email:[ ]*(?P<email>.+)\n)?", # WildWestDomains, GoDaddy, Namecheap/eNom, Ascio, Musedoma (.museum), EuroDNS, nic.ps
"Administrative Contact\n(?: (?P<organization>.+)\n)? (?P<name>.+)\n Email:(?P<email>.+)\n (?P<street1>.+)\n(?: (?P<street2>.+)\n)? (?P<postalcode>.+) (?P<city>.+)\n (?P<country>.+)\n Tel: (?P<phone>.+)\n\n", # internet.bs
" Administrative Contact Details:[ ]*\n (?P<organization>.*)\n (?P<name>.*)[ ]{2,}\((?P<email>.*)\)\n (?P<street1>.*)\n(?: (?P<street2>.*)\n)?(?: (?P<street3>.*)\n)? (?P<city>.*)\n (?P<state>.*),(?P<postalcode>.*)\n (?P<country>.*)\n Tel. (?P<phone>.*)", # Whois.com
"admin-id:[ ]*(?P<handle>.*)\n(?:admin-organization:[ ]*(?P<organization>.*)\n)?admin-name:[ ]*(?P<name>.*)\nadmin-street:[ ]*(?P<street>.*)\nadmin-city:[ ]*(?P<city>.*)\nadmin-zip:[ ]*(?P<postalcode>.*)\nadmin-country:[ ]*(?P<country>.*)\n(?:admin-phone:[ ]*(?P<phone>.*)\n)?(?:admin-fax:[ ]*(?P<fax>.*)\n)?admin-email:[ ]*(?P<email>.*)", # InterNetworX
@ -581,7 +581,7 @@ def parse_registrants(data):
"Billing ID:(?P<handle>.+)\nBilling Name:(?P<name>.*)\n(?:Billing Organization:(?P<organization>.*)\n)?Billing Address1?:(?P<street1>.*)\n(?:Billing Address2:(?P<street2>.*)\n)?(?:Billing Address3:(?P<street3>.*)\n)?Billing City:(?P<city>.*)\nBilling State/Province:(?P<state>.*)\nBilling Country/Economy:(?P<country>.*)\nBilling Postal Code:(?P<postalcode>.*)\nBilling Phone:(?P<phone>.*)\n(?:Billing Phone Ext.:(?P<phone_ext>.*)\n)?(?:Billing FAX:(?P<fax>.*)\n)?(?:Billing FAX Ext.:(?P<fax_ext>.*)\n)?Billing E-mail:(?P<email>.*)", # DotAsia
"Billing Contact ID:\s*(?P<handle>.+)\nBilling Contact Name:\s*(?P<name>.+)\nBilling Contact Organization:\s*(?P<organization>.*)\nBilling Contact Address1:\s*(?P<street1>.+)\nBilling Contact Address2:\s*(?P<street2>.*)\nBilling Contact City:\s*(?P<city>.+)\nBilling Contact State/Province:\s*(?P<state>.+)\nBilling Contact Postal Code:\s*(?P<postalcode>.+)\nBilling Contact Country:\s*(?P<country>.+)\nBilling Contact Country Code:\s*(?P<country_code>.+)\nBilling Contact Phone Number:\s*(?P<phone>.+)\nBilling Contact Email:\s*(?P<email>.+)\n", # .CO Internet
"Billing Contact: (?P<handle>.+)\nBilling Organization: (?P<organization>.+)\nBilling Name: (?P<name>.+)\nBilling Street: (?P<street>.+)\nBilling City: (?P<city>.+)\nBilling Postal Code: (?P<postalcode>.+)\nBilling State: (?P<state>.+)\nBilling Country: (?P<country>.+)\nBilling Phone: (?P<phone>.*)\nBilling Phone Ext: (?P<phone_ext>.*)\nBilling Fax: (?P<fax>.*)\nBilling Fax Ext: (?P<fax_ext>.*)\nBilling Email: (?P<email>.*)\n", # Key-Systems GmbH
"(?:Billing ID:[ ]*(?P<handle>.*)\n)?Billing[ ]*Name:[ ]*(?P<name>.*)\nBilling[ ]*Organization:[ ]*(?P<organization>.*)\nBilling[ ]*Street:[ ]*(?P<street1>.+)\n(?:Billing[ ]*Street:[ ]*(?P<street2>.+)\n)?Billing[ ]*City:[ ]*(?P<city>.+)\nBilling[ ]*State\/Province:[ ]*(?P<state>.+)\nBilling[ ]*Postal[ ]*Code:[ ]*(?P<postalcode>.+)\nBilling[ ]*Country:[ ]*(?P<country>.+)\n(?:Billing[ ]*Phone:[ ]*(?P<phone>.*)\n)?(?:Billing[ ]*Phone[ ]*Ext:[ ]*(?P<phone_ext>.*)\n)?(?:Billing[ ]*Fax:[ ]*(?P<fax>.*)\n)?(?:Billing[ ]*Fax[ ]*Ext:\s*?(?P<fax_ext>.*)\n)?(?:Billing[ ]*Email:[ ]*(?P<email>.+)\n)?", # Musedoma (.museum)
"(?:Billing ID:[ ]*(?P<handle>.*)\n)?Billing[ ]*Name:[ ]*(?P<name>.*)\n(?:Billing[ ]*Organization:[ ]*(?P<organization>.*)\n)?Billing[ ]*Street:[ ]*(?P<street1>.+)\n(?:Billing[ ]*Street:[ ]*(?P<street2>.+)\n)?Billing[ ]*City:[ ]*(?P<city>.+)\nBilling[ ]*State\/Province:[ ]*(?P<state>.+)\nBilling[ ]*Postal[ ]*Code:[ ]*(?P<postalcode>.+)\nBilling[ ]*Country:[ ]*(?P<country>.+)\n(?:Billing[ ]*Phone:[ ]*(?P<phone>.*)\n)?(?:Billing[ ]*Phone[ ]*Ext:[ ]*(?P<phone_ext>.*)\n)?(?:Billing[ ]*Fax:[ ]*(?P<fax>.*)\n)?(?:Billing[ ]*Fax[ ]*Ext:\s*?(?P<fax_ext>.*)\n)?(?:Billing[ ]*Email:[ ]*(?P<email>.+)\n)?", # Musedoma (.museum)
"Billing Contact:\n (?P<name>.+)\n (?P<street1>.+)\n(?: (?P<street2>.*)\n)?(?: (?P<street3>.*)\n)? (?P<postalcode>.+), (?P<city>.+)\n (?P<country>.+)\n (?P<phone>.+)\n (?P<email>.+)\n\n", # OVH
" Billing Contact Details:[ ]*\n (?P<organization>.*)\n (?P<name>.*)[ ]{2,}\((?P<email>.*)\)\n (?P<street1>.*)\n(?: (?P<street2>.*)\n)?(?: (?P<street3>.*)\n)? (?P<city>.*)\n (?P<state>.*),(?P<postalcode>.*)\n (?P<country>.*)\n Tel. (?P<phone>.*)", # Whois.com
"billing-id:[ ]*(?P<handle>.*)\n(?:billing-organization:[ ]*(?P<organization>.*)\n)?billing-name:[ ]*(?P<name>.*)\nbilling-street:[ ]*(?P<street>.*)\nbilling-city:[ ]*(?P<city>.*)\nbilling-zip:[ ]*(?P<postalcode>.*)\nbilling-country:[ ]*(?P<country>.*)\n(?:billing-phone:[ ]*(?P<phone>.*)\n)?(?:billing-fax:[ ]*(?P<fax>.*)\n)?billing-email:[ ]*(?P<email>.*)", # InterNetworX
@ -703,7 +703,7 @@ def parse_registrants(data):
obj[key] = obj[key].strip()
if "phone_ext" in obj:
if "phone" in obj:
obj["phone"] += "ext. %s" % obj["phone_ext"]
obj["phone"] += " ext. %s" % obj["phone_ext"]
del obj["phone_ext"]
if "street1" in obj:
street_items = []

@ -0,0 +1,92 @@
Domain Name: nic.ps
Domain ID: 24353-PS
WHOIS Server: Palestine PS/Felasteen ccTLD Registry
Referral URL:
Creation Date: 2004-07-28T22:00:00.000Z
Registry Expiry Date: 2014-07-28T22:00:00.000Z
Sponsoring Registrar: Palestinian National Internet Naming Authority (PNINA)
Sponsoring Registrar IANA ID:
Domain Status: ok
Registrant ID: 24124-PS
Registrant Name: Palestinian National Internet Naming Authority
Registrant Street: El Wehda St.- El Amal Building - Gaza
Registrant City: GAZA
Registrant State/Province:
Registrant Postal Code:
Registrant Country: PS
Registrant Phone: 970-8-2861617
Registrant Phone Ext:
Registrant Fax: 970-8-2861618
Registrant Fax Ext:
Admin ID: 24164-PS
Admin Name: Marwan Radwan
Admin Street: El Wehda St.- El Amal Building
Admin City: Gaza
Admin State/Province:
Admin Postal Code:
Admin Country: PS
Admin Phone: 972-08-2861617
Admin Phone Ext: 059-781440
Admin Fax: 972-08-2861618
Admin Fax Ext:
Billing ID: 24164-PS
Billing Name: Marwan Radwan
Billing Street: El Wehda St.- El Amal Building
Billing City: Gaza
Billing State/Province:
Billing Postal Code:
Billing Country: PS
Billing Phone: 972-08-2861617
Billing Phone Ext: 059-781440
Billing Fax: 972-08-2861618
Billing Fax Ext:
Tech ID: 24164-PS
Tech Name: Marwan Radwan
Tech Street: El Wehda St.- El Amal Building
Tech City: Gaza
Tech State/Province:
Tech Postal Code:
Tech Country: PS
Tech Phone: 972-08-2861617
Tech Phone Ext: 059-781440
Tech Fax: 972-08-2861618
Tech Fax Ext:
Name Server: ns1.pnina.ps
Name Server: ns2.pnina.ps
DNSSEC: unsigned
Additional Section
Sponsoring Registrar URL: www.pnina.ps
Sponsoring Registrar Address: 4th Floor, Al-Amal Building Al-Wehda Street Gaza
Sponsoring Registrar Phone: 970-8-2861617
Sponsoring Registrar Fax: 970-8-2861618
TERMS OF USE: You are not authorized to access or query our Whois
database through the use of electronic processes that are high-volume and
automated. Whois database is provided by PNINA as a service to the internet
community on behalf of PNINA and Its Certified Registrars (CR). (http://www.pnina.ps/registrars/registrars-list/)
The data is for information purposes only. PNINA does not
guarantee its accuracy. By submitting a Whois query, you agree to abide
by the following terms of use: You agree that you may use this Data only
for lawful purposes and that under no circumstances will you use this Data
to: (1) allow, enable, or otherwise support the transmission of mass
unsolicited, commercial advertising or solicitations via e-mail, telephone,
or facsimile; or (2) enable high volume, automated, electronic processes
that apply to PNINA and it's Certified Registrar's (or PNINA or CR computer systems). The
compilation, repackaging, dissemination or other use of this Data is
expressly prohibited.
>>> Last update of WHOIS database: 2014-05-23T11:08:01.989Z <<<

@ -0,0 +1 @@
{"status": ["ok"], "contacts": {"admin": {"city": "Gaza", "fax": "972-08-2861618", "handle": "24164-PS", "name": "Marwan Radwan", "phone": "972-08-2861617 ext. 059-781440", "street": "El Wehda St.- El Amal Building", "country": "PS"}, "tech": {"city": "Gaza", "fax": "972-08-2861618", "handle": "24164-PS", "name": "Marwan Radwan", "phone": "972-08-2861617 ext. 059-781440", "street": "El Wehda St.- El Amal Building", "country": "PS"}, "registrant": {"city": "GAZA", "fax": "970-8-2861618", "handle": "24124-PS", "name": "Palestinian National Internet Naming Authority", "phone": "970-8-2861617", "street": "El Wehda St.- El Amal Building - Gaza", "country": "PS"}, "billing": {"city": "Gaza", "fax": "972-08-2861618", "handle": "24164-PS", "name": "Marwan Radwan", "phone": "972-08-2861617 ext. 059-781440", "street": "El Wehda St.- El Amal Building", "country": "PS"}}, "nameservers": ["ns1.pnina.ps", "ns2.pnina.ps"], "expiration_date": ["2014-07-28T22:00:00"], "creation_date": ["2004-07-28T22:00:00"], "raw": ["Domain Name: nic.ps\nDomain ID: 24353-PS\nWHOIS Server: Palestine PS/Felasteen ccTLD Registry\nReferral URL: \nCreation Date: 2004-07-28T22:00:00.000Z\nRegistry Expiry Date: 2014-07-28T22:00:00.000Z\nSponsoring Registrar: Palestinian National Internet Naming Authority (PNINA)\nSponsoring Registrar IANA ID: \nDomain Status: ok\n\nRegistrant ID: 24124-PS\nRegistrant Name: Palestinian National Internet Naming Authority\nRegistrant Street: El Wehda St.- El Amal Building - Gaza\nRegistrant City: GAZA\nRegistrant State/Province: \nRegistrant Postal Code: \nRegistrant Country: PS\nRegistrant Phone: 970-8-2861617\nRegistrant Phone Ext: \nRegistrant Fax: 970-8-2861618\nRegistrant Fax Ext: \n\nAdmin ID: 24164-PS\nAdmin Name: Marwan Radwan\nAdmin Street: El Wehda St.- El Amal Building\nAdmin City: Gaza\nAdmin State/Province: \nAdmin Postal Code: \nAdmin Country: PS\nAdmin Phone: 972-08-2861617\nAdmin Phone Ext: 059-781440\nAdmin Fax: 972-08-2861618\nAdmin Fax Ext: \n\nBilling ID: 24164-PS\nBilling Name: Marwan Radwan\nBilling Street: El Wehda St.- El Amal Building\nBilling City: Gaza\nBilling State/Province: \nBilling Postal Code: \nBilling Country: PS\nBilling Phone: 972-08-2861617\nBilling Phone Ext: 059-781440\nBilling Fax: 972-08-2861618\nBilling Fax Ext: \n\nTech ID: 24164-PS\nTech Name: Marwan Radwan\nTech Street: El Wehda St.- El Amal Building\nTech City: Gaza\nTech State/Province: \nTech Postal Code: \nTech Country: PS\nTech Phone: 972-08-2861617\nTech Phone Ext: 059-781440\nTech Fax: 972-08-2861618\nTech Fax Ext: \n\nName Server: ns1.pnina.ps\nName Server: ns2.pnina.ps\n\nDNSSEC: unsigned\n\n\nAdditional Section\n\n\nSponsoring Registrar URL: www.pnina.ps\nSponsoring Registrar Address: 4th Floor, Al-Amal Building Al-Wehda Street Gaza\nSponsoring Registrar Phone: 970-8-2861617\nSponsoring Registrar Fax: 970-8-2861618\n\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. Whois database is provided by PNINA as a service to the internet\ncommunity on behalf of PNINA and Its Certified Registrars (CR). (http://www.pnina.ps/registrars/registrars-list/)\n\nThe data is for information purposes only. PNINA 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 PNINA and it's Certified Registrar's (or PNINA or CR computer systems). The\ncompilation, repackaging, dissemination or other use of this Data is\nexpressly prohibited.\n\n\n>>> Last update of WHOIS database: 2014-05-23T11:08:01.989Z <<<\n\n"], "whois_server": ["Palestine PS/Felasteen ccTLD Registry"], "registrar": ["Palestinian National Internet Naming Authority (PNINA)"], "id": ["24353-PS"]}

@ -0,0 +1 @@
{"status": ["ok"], "contacts": {"admin": {"city": "Gaza", "fax": "972-08-2861618", "handle": "24164-PS", "name": "Marwan Radwan", "phone": "972-08-2861617 ext. 059-781440", "street": "El Wehda St.- El Amal Building", "country": "PS"}, "tech": {"city": "Gaza", "fax": "972-08-2861618", "handle": "24164-PS", "name": "Marwan Radwan", "phone": "972-08-2861617 ext. 059-781440", "street": "El Wehda St.- El Amal Building", "country": "PS"}, "registrant": {"city": "Gaza", "fax": "970-8-2861618", "handle": "24124-PS", "name": "Palestinian National Internet Naming Authority", "phone": "970-8-2861617", "street": "El Wehda St.- El Amal Building - Gaza", "country": "PS"}, "billing": {"city": "Gaza", "fax": "972-08-2861618", "handle": "24164-PS", "name": "Marwan Radwan", "phone": "972-08-2861617 ext. 059-781440", "street": "El Wehda St.- El Amal Building", "country": "PS"}}, "nameservers": ["ns1.pnina.ps", "ns2.pnina.ps"], "expiration_date": ["2014-07-28T22:00:00"], "creation_date": ["2004-07-28T22:00:00"], "raw": ["Domain Name: nic.ps\nDomain ID: 24353-PS\nWHOIS Server: Palestine PS/Felasteen ccTLD Registry\nReferral URL: \nCreation Date: 2004-07-28T22:00:00.000Z\nRegistry Expiry Date: 2014-07-28T22:00:00.000Z\nSponsoring Registrar: Palestinian National Internet Naming Authority (PNINA)\nSponsoring Registrar IANA ID: \nDomain Status: ok\n\nRegistrant ID: 24124-PS\nRegistrant Name: Palestinian National Internet Naming Authority\nRegistrant Street: El Wehda St.- El Amal Building - Gaza\nRegistrant City: GAZA\nRegistrant State/Province: \nRegistrant Postal Code: \nRegistrant Country: PS\nRegistrant Phone: 970-8-2861617\nRegistrant Phone Ext: \nRegistrant Fax: 970-8-2861618\nRegistrant Fax Ext: \n\nAdmin ID: 24164-PS\nAdmin Name: Marwan Radwan\nAdmin Street: El Wehda St.- El Amal Building\nAdmin City: Gaza\nAdmin State/Province: \nAdmin Postal Code: \nAdmin Country: PS\nAdmin Phone: 972-08-2861617\nAdmin Phone Ext: 059-781440\nAdmin Fax: 972-08-2861618\nAdmin Fax Ext: \n\nBilling ID: 24164-PS\nBilling Name: Marwan Radwan\nBilling Street: El Wehda St.- El Amal Building\nBilling City: Gaza\nBilling State/Province: \nBilling Postal Code: \nBilling Country: PS\nBilling Phone: 972-08-2861617\nBilling Phone Ext: 059-781440\nBilling Fax: 972-08-2861618\nBilling Fax Ext: \n\nTech ID: 24164-PS\nTech Name: Marwan Radwan\nTech Street: El Wehda St.- El Amal Building\nTech City: Gaza\nTech State/Province: \nTech Postal Code: \nTech Country: PS\nTech Phone: 972-08-2861617\nTech Phone Ext: 059-781440\nTech Fax: 972-08-2861618\nTech Fax Ext: \n\nName Server: ns1.pnina.ps\nName Server: ns2.pnina.ps\n\nDNSSEC: unsigned\n\n\nAdditional Section\n\n\nSponsoring Registrar URL: www.pnina.ps\nSponsoring Registrar Address: 4th Floor, Al-Amal Building Al-Wehda Street Gaza\nSponsoring Registrar Phone: 970-8-2861617\nSponsoring Registrar Fax: 970-8-2861618\n\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. Whois database is provided by PNINA as a service to the internet\ncommunity on behalf of PNINA and Its Certified Registrars (CR). (http://www.pnina.ps/registrars/registrars-list/)\n\nThe data is for information purposes only. PNINA 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 PNINA and it's Certified Registrar's (or PNINA or CR computer systems). The\ncompilation, repackaging, dissemination or other use of this Data is\nexpressly prohibited.\n\n\n>>> Last update of WHOIS database: 2014-05-23T11:08:01.989Z <<<\n\n"], "whois_server": ["palestine ps/felasteen cctld registry"], "registrar": ["Palestinian National Internet Naming Authority (PNINA)"], "id": ["24353-PS"]}
Loading…
Cancel
Save