Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
bad = '\033[1;31m[-]\033[1;m'
good = '\033[1;32m[+]\033[1;m'
run = '\033[1;97m[~]\033[1;m'
# Cookie Jar
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
# Browser options
br.set_handle_equiv(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)
# Follows refresh 0 but not hangs on refresh > 0
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
br.addheaders = [
('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]
print '''\033[1;31m
_________ __ __ __
/ _____// |________|__| | __ ___________
\_____ \\\\ __\_ __ \ | |/ // __ \_ __ \\
/ \| | | | \/ | <\ ___/| | \/
/_______ /|__| |__| |__|__|_ \\\\___ >__|
\/ \/ \/\033[1;m'''
target = raw_input('\033[1;34m[?]\033[1;m Enter the target: ')
if 'http' in target:
parsed_uri = urlparse(target)
domain = '{uri.netloc}'.format(uri=parsed_uri)
else:
def test_state(br):
self.assertIsNone(br.request)
self.assertIsNone(br.response())
self.assertRaises(mechanize.BrowserStateError, br.back)
br = make_browser_with_redirect()
test_state(br)
req = mechanize.Request("http://example.com")
req.visit = False
br.open(req)
test_state(br)
br = make_browser_with_redirect()
test_state(br)
req = mechanize.Request("http://example.com")
self.assertIsNone(req.visit)
br.open_novisit(req)
test_state(br)
self.assertFalse(req.visit)
def test_one_visit(handlers):
br = TestBrowser2()
for handler in handlers:
br.add_handler(handler)
req = mechanize.Request("http://example.com")
req.visit = True
br.open(req)
return br
def test_state(br):
# XXX the _history._history check is needed because of the weird
def _test_cookiejar(self, make_cookiejar, commit):
cookiejar = make_cookiejar()
br = self.make_browser()
# br.set_debug_http(True)
br.set_cookiejar(cookiejar)
br.set_handle_refresh(False)
url = urljoin(self.uri, "/dynamic")
# no cookie was set on the first request
html = br.open(url).read()
self.assertNotIn(b"Your browser supports cookies!", html)
self.assertEqual(len(cookiejar), 2)
# ... but now we have the cookie
html = br.open(url).read()
self.assertIn(b"Your browser supports cookies!", html)
self.assertIn(b"Received session cookie", html)
commit(cookiejar)
# should still have the cookie when we load afresh
cookiejar = make_cookiejar()
br.set_cookiejar(cookiejar)
html = br.open(url).read()
self.assertIn(b"Your browser supports cookies!", html)
self.assertNotIn(b"Received session cookie", html)
(control, form) for (control, form) in intermediate if
control.type in ('submit', 'submitbutton', 'image')]
control, form = disambiguate(intermediate, msg, index,
control_form_tuple_repr,
available)
self.browser._clickSubmit(form, control, coord)
else: # JavaScript sort of submit
if index is not None or coord != (1,1):
raise ValueError(
'May not use index or coord without a control')
request = self.mech_form._switch_click("request", mechanize.Request)
self.browser._start_timer()
try:
try:
self.browser.mech_browser.open(request)
except mechanize.HTTPError, e:
if self.browser.raiseHttpErrors:
fix_exception_name(e)
raise
except Exception, e:
fix_exception_name(e)
raise
finally:
self.browser._stop_timer()
finally:
self.browser._changed()
def __init__(self, uri, name, log=False):
this_dir = os.path.dirname(__file__)
path = os.path.join(this_dir, "twisted-localserver.py")
ServerProcess.__init__(self, path, name)
self.uri = uri
authority = mechanize._rfc3986.urlsplit(uri)[1]
host, port = urllib.splitport(authority)
if port is None:
port = "80"
self.port = int(port)
# def report(msg):
# print "%s: %s" % (name, msg)
report = lambda msg: None
self.report_hook = report
self._log = log
self._start()
def __init__(self, uri, name, log=False):
this_dir = os.path.dirname(__file__)
path = os.path.join(this_dir, "twisted-localserver.py")
ServerProcess.__init__(self, path, name)
self.uri = uri
authority = mechanize._rfc3986.urlsplit(uri)[1]
host, port = mechanize.polyglot.splitport(authority)
if port is None:
port = "80"
self.port = int(port)
def report(msg):
pass
self.report_hook = report
self._log = log
self._start()
def setUpClass(cls):
# cleanup
shutil.copyfile('lwp.db.base', '/tmp/db.sql')
shutil.rmtree('/tmp/lxc', ignore_errors=True)
cj = cookielib.LWPCookieJar()
cls.br = mechanize.Browser()
cls.br.set_cookiejar(cj)
def init_browser():
"""Returns an initialized browser and associated cookie jar."""
br = mechanize.Browser()
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
br.set_handle_equiv(True)
br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
return br
def browser_create():
browser = mechanize.Browser()
cj = cookielib.LWPCookieJar()
browser.set_cookiejar(cj)
browser.set_handle_equiv(True)
# browser.set_handle_gzip(True)
browser.set_handle_redirect(True)
browser.set_handle_referer(True)
browser.set_handle_robots(False)
browser.set_handle_refresh(
mechanize._http.HTTPRefreshProcessor(), max_time=1)
# debugging stuff
#browser.set_debug_redirects(True)
#browser.set_debug_responses(True)
#browser.set_debug_http(True)
browser.addheaders = [
('User-Agent' ,
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.4 (KHTML, like Gecko)"
import socket
data = "rheum rhaponicum"
h = NullFTPHandler(data)
h.parent = MockOpener()
for url, host, port, type_, dirs, timeout, filename, mimetype in [
("ftp://localhost/foo/bar/baz.html", "localhost", ftplib.FTP_PORT,
"I", ["foo", "bar"], _sockettimeout._GLOBAL_DEFAULT_TIMEOUT,
"baz.html", "text/html"),
("ftp://localhost:80/foo/bar/", "localhost", 80, "D",
["foo", "bar"], _sockettimeout._GLOBAL_DEFAULT_TIMEOUT, "", None),
("ftp://localhost/baz.gif;type=a", "localhost", ftplib.FTP_PORT,
"A", [], _sockettimeout._GLOBAL_DEFAULT_TIMEOUT, "baz.gif",
None), # TODO: really this should guess image/gif
]:
req = Request(url, timeout=timeout)
r = h.ftp_open(req)
# ftp authentication not yet implemented by FTPHandler
self.assertTrue(h.user == h.passwd == "")
self.assertEqual(h.host, socket.gethostbyname(host))
self.assertEqual(h.port, port)
self.assertEqual(h.dirs, dirs)
if sys.version_info >= (2, 6):
self.assertEqual(h.timeout, timeout)
self.assertEqual(h.ftpwrapper.filename, filename)
self.assertEqual(h.ftpwrapper.filetype, type_)
headers = r.info()
self.assertEqual(headers.get("Content-type"), mimetype)
self.assertEqual(int(headers["Content-length"]), len(data))