Add HTTP query support
This commit is contained in:
parent
186916ff20
commit
481b449f77
@ -11,6 +11,8 @@ import os
|
|||||||
import socket
|
import socket
|
||||||
import re
|
import re
|
||||||
import logging
|
import logging
|
||||||
|
import urllib
|
||||||
|
import urllib2
|
||||||
|
|
||||||
import error
|
import error
|
||||||
import flags
|
import flags
|
||||||
@ -54,6 +56,21 @@ class Whois(object):
|
|||||||
logging.debug("chooseServer: Whois server addr: %s"%(self.tld + ".whois-servers.net"))
|
logging.debug("chooseServer: Whois server addr: %s"%(self.tld + ".whois-servers.net"))
|
||||||
return self.tld + ".whois-servers.net"
|
return self.tld + ".whois-servers.net"
|
||||||
|
|
||||||
|
def sendHTTPQuery(self, whoisServer):
|
||||||
|
param = urllib.urlencode({self.settings["http-arg"]: self.domain})
|
||||||
|
|
||||||
|
if self.settings.get("http-method").lower() == "post":
|
||||||
|
logging.debug("sendHTTPQuery: Connecting to whois server using POST")
|
||||||
|
req = urllib2.Request(whoisServer, param)
|
||||||
|
else: # GET
|
||||||
|
logging.debug("sendHTTPQuery: Connecting to whois server using GET")
|
||||||
|
req = urllib2.Request((whoisServer.endswith("?") and whoisServer or whoisServer+"?") + param)
|
||||||
|
|
||||||
|
data = urllib2.urlopen(req).read()
|
||||||
|
print data
|
||||||
|
|
||||||
|
return data
|
||||||
|
|
||||||
def sendQuery(self, whoisServer):
|
def sendQuery(self, whoisServer):
|
||||||
'''Send query to whois server.'''
|
'''Send query to whois server.'''
|
||||||
logging.debug("sendQuery: Connecting to whois server")
|
logging.debug("sendQuery: Connecting to whois server")
|
||||||
@ -96,7 +113,11 @@ class Whois(object):
|
|||||||
def query(self, redirect=True, return_type=flags.RETURN_TYPE_LIST):
|
def query(self, redirect=True, return_type=flags.RETURN_TYPE_LIST):
|
||||||
'''Start whole process of whois query. This method will do them all.'''
|
'''Start whole process of whois query. This method will do them all.'''
|
||||||
whoisServer = self.chooseServer()
|
whoisServer = self.chooseServer()
|
||||||
result = self.sendQuery(whoisServer)
|
|
||||||
|
if self.settings.get("method") == "http":
|
||||||
|
result = self.sendHTTPQuery(whoisServer)
|
||||||
|
else:
|
||||||
|
result = self.sendQuery(whoisServer)
|
||||||
|
|
||||||
if redirect and "redirect" in self.settings:
|
if redirect and "redirect" in self.settings:
|
||||||
logging.debug("query: Redirection found. Connecting to given server address")
|
logging.debug("query: Redirection found. Connecting to given server address")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user