本文整理汇总了Python中w3af.core.data.parsers.doc.url.URL类的典型用法代码示例。如果您正苦于以下问题:Python URL类的具体用法?Python URL怎么用?Python URL使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了URL类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_can_be_pickled
def test_can_be_pickled(self):
# Pickle a URL object that contains a cache
u = URL('http://www.w3af.com/')
domain_path = u.get_domain_path()
cPickle.dumps(u)
cPickle.dumps(domain_path)
开发者ID:batmanWjw,项目名称:w3af,代码行数:7,代码来源:test_url.py
示例2: test_default_proto
def test_default_proto(self):
"""
http is the default protocol, we can provide URLs with no proto
"""
u = URL('w3af.com')
self.assertEqual(u.get_domain(), 'w3af.com')
self.assertEqual(u.get_protocol(), 'http')
开发者ID:batmanWjw,项目名称:w3af,代码行数:7,代码来源:test_url.py
示例3: test_url_join_case03
def test_url_join_case03(self):
u = URL('http://w3af.com/def/jkl/')
self.assertEqual(u.url_join('/def/abc.html').url_string,
u'http://w3af.com/def/abc.html')
self.assertEqual(u.url_join('def/abc.html').url_string,
u'http://w3af.com/def/jkl/def/abc.html')
开发者ID:batmanWjw,项目名称:w3af,代码行数:7,代码来源:test_url.py
示例4: test_simplest_url
def test_simplest_url(self):
u = URL('http://w3af.com/foo/bar.txt')
self.assertEqual(u.path, '/foo/bar.txt')
self.assertEqual(u.scheme, 'http')
self.assertEqual(u.get_file_name(), 'bar.txt')
self.assertEqual(u.get_extension(), 'txt')
开发者ID:batmanWjw,项目名称:w3af,代码行数:7,代码来源:test_url.py
示例5: test_websocket_secure_proto
def test_websocket_secure_proto(self):
"""
We can also parse and handle ws and wss protocols
"""
u = URL('wss://w3af.com')
self.assertEqual(u.get_domain(), 'w3af.com')
self.assertEqual(u.get_protocol(), 'wss')
开发者ID:batmanWjw,项目名称:w3af,代码行数:7,代码来源:test_url.py
示例6: from_httplib_resp
def from_httplib_resp(cls, httplibresp, original_url=None):
"""
Factory function. Build a HTTPResponse object from a
httplib.HTTPResponse instance
:param httplibresp: httplib.HTTPResponse instance
:param original_url: Optional 'url_object' instance.
:return: A HTTPResponse instance
"""
resp = httplibresp
code, msg, hdrs, body = (resp.code, resp.msg, resp.info(), resp.read())
hdrs = Headers(hdrs.items())
if original_url:
url_inst = URL(resp.geturl(), original_url.encoding)
url_inst = url_inst.url_decode()
else:
url_inst = original_url = URL(resp.geturl())
httplib_time = DEFAULT_WAIT_TIME
if hasattr(httplibresp, 'get_wait_time'):
# This is defined in the keep alive http response object
httplib_time = httplibresp.get_wait_time()
if isinstance(resp, urllib2.HTTPError):
# This is possible because in errors.py I do:
# err = urllib2.HTTPError(req.get_full_url(), code, msg, hdrs, resp)
charset = getattr(resp.fp, 'encoding', None)
else:
# The encoding attribute is only set on CachedResponse instances
charset = getattr(resp, 'encoding', None)
return cls(code, body, hdrs, url_inst, original_url,
msg, charset=charset, time=httplib_time)
开发者ID:everping,项目名称:w3af,代码行数:35,代码来源:HTTPResponse.py
示例7: test_url_join_case01
def test_url_join_case01(self):
u = URL('http://w3af.com/foo.bar')
self.assertEqual(u.url_join('abc.html').url_string,
u'http://w3af.com/abc.html')
self.assertEqual(u.url_join('/abc.html').url_string,
u'http://w3af.com/abc.html')
开发者ID:batmanWjw,项目名称:w3af,代码行数:7,代码来源:test_url.py
示例8: test_encode_decode
def test_encode_decode(self):
"""Encode and Decode should be able to run one on the result of the
other and return the original"""
original = URL(u'https://w3af.com:443/file.asp?id=1%202')
encoded = original.url_encode()
decoded = URL(encoded).url_decode()
self.assertEqual(original, decoded)
开发者ID:batmanWjw,项目名称:w3af,代码行数:7,代码来源:test_url.py
示例9: test_from_url_keep_form
def test_from_url_keep_form(self):
o = URL('http://w3af.com/foo/bar.txt')
o.querystring = URLEncodedForm()
u = URL.from_URL(o)
self.assertIsInstance(u.querystring, URLEncodedForm)
self.assertIsNot(u.querystring, o.querystring)
self.assertEqual(u.querystring, o.querystring)
开发者ID:batmanWjw,项目名称:w3af,代码行数:8,代码来源:test_url.py
示例10: http_request
def http_request(self, req):
url_instance = URL(req.get_full_url())
url_instance.set_param(self._url_parameter)
new_request = HTTPRequest(url_instance, headers=req.headers,
origin_req_host=req.get_origin_req_host(),
unverifiable=req.is_unverifiable(),
retries=req.retries_left)
return new_request
开发者ID:0x554simon,项目名称:w3af,代码行数:9,代码来源:url_parameter.py
示例11: do_follow_redirect
def do_follow_redirect(self, req, fp, code, msg, headers):
# Check if we can redirect according to the RFC
if not self.redirect_allowed_by_rfc(req, code):
raise self.create_error_from_parts(req, code, msg, headers, fp)
# Some servers (incorrectly) return multiple Location headers
# (so probably same goes for URI). Use first header.
if LOCATION in headers:
new_url_raw = headers.getheaders(LOCATION)[0]
elif URI in headers:
new_url_raw = headers.getheaders(URI)[0]
else:
raise self.create_error_from_parts(req, code, msg, headers, fp)
# Calculate the target URL
try:
current_url = URL(req.get_full_url())
new_url_str = current_url.url_join(new_url_raw).url_string
new_url_obj = current_url.url_join(new_url_raw)
except ValueError:
raise self.create_error_from_parts(req, code, msg, headers, fp)
# For security reasons we do not allow redirects to protocols
# other than HTTP or HTTPS
new_url_lower = new_url_str.lower()
if not (new_url_lower.startswith('http://') or
new_url_lower.startswith('https://')):
raise self.create_error_from_parts(req, code, msg, headers, fp)
# XXX Probably want to forget about the state of the current
# request, although that might interact poorly with other
# handlers that also use handler-specific request attributes
new_request = self.create_redirect_request(req, fp, code, msg,
headers, new_url_str,
new_url_obj)
# loop detection
# .redirect_dict has a key url if url was previously visited.
if hasattr(req, 'redirect_dict'):
visited = new_request.redirect_dict = req.redirect_dict
if (visited.get(new_url_str, 0) >= self.max_repeats or
len(visited) >= self.max_redirections):
raise self.create_error_from_parts(req, code, msg, headers, fp)
else:
visited = new_request.redirect_dict = req.redirect_dict = {}
visited[new_url_str] = visited.get(new_url_str, 0) + 1
# Don't close the fp until we are sure that we won't use it
# with HTTPError.
fp.read()
fp.close()
return self.parent.open(new_request, timeout=req.timeout)
开发者ID:0x554simon,项目名称:w3af,代码行数:55,代码来源:redirect.py
示例12: get_response
def get_response(self, http_request, uri, response_headers):
uri = URL(uri)
try:
callback = uri.get_querystring()['callback'][0]
except KeyError:
callback = 'default'
body = '%s({})' % callback
response_headers['Content-Type'] = 'application/javascript'
return self.status, response_headers, body
开发者ID:batmanWjw,项目名称:w3af,代码行数:12,代码来源:test_rosetta_flash.py
示例13: test_from_url
def test_from_url(self):
o = URL('http://w3af.com/foo/bar.txt')
u = URL.from_URL(o)
self.assertEqual(u.path, '/foo/bar.txt')
self.assertEqual(u.scheme, 'http')
self.assertEqual(u.get_file_name(), 'bar.txt')
self.assertEqual(u.get_extension(), 'txt')
o = URL('w3af.com')
u = URL.from_URL(o)
self.assertEqual(u.get_domain(), 'w3af.com')
self.assertEqual(u.get_protocol(), 'http')
开发者ID:batmanWjw,项目名称:w3af,代码行数:13,代码来源:test_url.py
示例14: test_memoized
def test_memoized(self):
u = URL('http://www.w3af.com/')
self.assertEqual(u._cache, dict())
url = u.uri2url()
self.assertNotEqual(u._cache, dict())
self.assertIn(url, u._cache.values())
second_url = u.uri2url()
self.assertIs(url, second_url)
self.assertIsInstance(url, URL)
self.assertIsInstance(second_url, URL)
开发者ID:batmanWjw,项目名称:w3af,代码行数:13,代码来源:test_url.py
示例15: test_set_params
def test_set_params(self):
u = URL('http://w3af.com/;id=1')
u.set_param('file=2')
self.assertEqual(u.get_params_string(), 'file=2')
u = URL('http://w3af.com/xyz.txt;id=1?file=2')
u.set_param('file=3')
self.assertEqual(u.get_params_string(), 'file=3')
self.assertEqual(u.get_path_qs(), '/xyz.txt;file=3?file=2')
开发者ID:batmanWjw,项目名称:w3af,代码行数:11,代码来源:test_url.py
示例16: test_phishtank_match_last_url
def test_phishtank_match_last_url(self):
phishtank_inst = self.w3afcore.plugins.get_plugin_inst('crawl',
'phishtank')
vuln_url = URL(self.get_last_vulnerable_url())
phishtank_inst.crawl(FuzzableRequest(vuln_url))
vulns = self.kb.get('phishtank', 'phishtank')
self.assertEqual(len(vulns), 1, vulns)
vuln = vulns[0]
self.assertEqual(vuln.get_name(), 'Phishing scam')
self.assertEqual(vuln.get_severity(), MEDIUM)
self.assertEqual(vuln.get_url().get_domain(), vuln_url.get_domain())
开发者ID:0x554simon,项目名称:w3af,代码行数:15,代码来源:test_phishtank.py
示例17: test_redirect_uri_relative
def test_redirect_uri_relative(self):
ws = web_spider()
body = ''
url = URL('http://www.w3af.org')
redir_url = '/redir'
headers = Headers([('content-type', 'text/html'),
('uri', redir_url)])
resp = HTTPResponse(200, body, headers, url, url)
gen = ws._headers_url_generator(resp, None)
extracted_data = [i for i in gen]
expected_data = [(url.url_join(redir_url), None, resp, False)]
self.assertEqual(extracted_data, expected_data)
开发者ID:image-tester,项目名称:w3af-module,代码行数:15,代码来源:test_web_spider.py
示例18: met_search
def met_search(self, query):
"""
Query a Public Key Server.
This method is based from the pks.py file from the massive enumeration
toolset, coded by pdp and released under GPL v2.
"""
url = URL(u'http://pgp.mit.edu:11371/pks/lookup')
url.querystring = [(u'op', [u'index']), (u'search', [query])]
try:
response = self._uri_opener.GET(url, headers=self._headers,
cache=True, grep=False)
except HTTPRequestException:
# Very naive exception handling for the case where we can't reach
# the PKS server (it's down, blocking us, bad internet connection)
return []
content = response.get_body()
content = re.sub('(<.*?>|<|>)', '', content)
results = []
accounts = []
for line in content.split('\n')[2:]:
if not line.strip():
continue
tokens = line.split()
if len(tokens) >= 5:
email = tokens[-1]
name = ' '.join(tokens[3:-1])
if SGMLParser.EMAIL_RE.match(email):
account = email.split('@')[0]
domain = email.split('@')[1]
if domain == query:
if account not in accounts:
accounts.append(account)
pksr = PKSResult(name, account, domain, response.id)
results.append(pksr)
return results
开发者ID:0x554simon,项目名称:w3af,代码行数:48,代码来源:pks.py
示例19: get_response
def get_response(self, http_request, uri, response_headers):
"""
Overwrite the mock response with one simple objective: add a delay
which depends on the length of the redos parameter.
"""
response_headers.update({'status': self.status})
response_headers.update(self.headers)
uri = URL(uri)
qs = uri.get_querystring()
redos_param = qs.get('redos')[0]
delay = len(redos_param) / 13.0
time.sleep(delay)
return self.status, response_headers, self.body
开发者ID:foobarmonk,项目名称:w3af,代码行数:16,代码来源:test_redos.py
示例20: test_from_parts
def test_from_parts(self):
u = URL.from_parts('http', 'w3af.com', '/foo/bar.txt', None, 'a=b',
'frag')
self.assertEqual(u.path, '/foo/bar.txt')
self.assertEqual(u.scheme, 'http')
self.assertEqual(u.get_file_name(), 'bar.txt')
self.assertEqual(u.get_extension(), 'txt')
开发者ID:batmanWjw,项目名称:w3af,代码行数:8,代码来源:test_url.py
注:本文中的w3af.core.data.parsers.doc.url.URL类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论