本文整理汇总了Python中w3af.core.data.parsers.doc.url.URL.url_join方法的典型用法代码示例。如果您正苦于以下问题:Python URL.url_join方法的具体用法?Python URL.url_join怎么用?Python URL.url_join使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类w3af.core.data.parsers.doc.url.URL
的用法示例。
在下文中一共展示了URL.url_join方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_url_join_case03
# 需要导入模块: from w3af.core.data.parsers.doc.url import URL [as 别名]
# 或者: from w3af.core.data.parsers.doc.url.URL import url_join [as 别名]
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')
示例2: test_url_join_case01
# 需要导入模块: from w3af.core.data.parsers.doc.url import URL [as 别名]
# 或者: from w3af.core.data.parsers.doc.url.URL import url_join [as 别名]
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')
示例3: do_follow_redirect
# 需要导入模块: from w3af.core.data.parsers.doc.url import URL [as 别名]
# 或者: from w3af.core.data.parsers.doc.url.URL import url_join [as 别名]
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)
示例4: test_redirect_uri_relative
# 需要导入模块: from w3af.core.data.parsers.doc.url import URL [as 别名]
# 或者: from w3af.core.data.parsers.doc.url.URL import url_join [as 别名]
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)
示例5: xssed_dot_com
# 需要导入模块: from w3af.core.data.parsers.doc.url import URL [as 别名]
# 或者: from w3af.core.data.parsers.doc.url.URL import url_join [as 别名]
class xssed_dot_com(InfrastructurePlugin):
"""
Search in xssed.com to find xssed pages.
:author: Nicolas Crocfer ([email protected])
:author: Raul Siles: set "." in front of the root domain to limit search
"""
def __init__(self):
InfrastructurePlugin.__init__(self)
#
# Depend on xssed.com
#
self.XSSED_URL = URL("http://www.xssed.com")
self.UNFIXED = "UNFIXED"
self.XSSED_DOMAIN_RE = re.compile("<a href='(/mirror/\d*/)'" " target='_blank'>")
self.XSSED_URL_RE = re.compile("URL: (.*?)</th>")
@runonce(exc_class=RunOnce)
def discover(self, fuzzable_request):
"""
Search in xssed.com and parse the output.
:param fuzzable_request: A fuzzable_request instance that contains
(among other things) the URL to test.
"""
target_domain = fuzzable_request.get_url().get_root_domain()
target_path = "/search?key=.%s" % target_domain
check_url = self.XSSED_URL.url_join(target_path)
try:
response = self._uri_opener.GET(check_url)
except BaseFrameworkException, e:
msg = "An exception was raised while running xssed_dot_com" ' plugin. Exception: "%s".'
om.out.debug(msg % e)
else:
示例6: test_url_join_case07
# 需要导入模块: from w3af.core.data.parsers.doc.url import URL [as 别名]
# 或者: from w3af.core.data.parsers.doc.url.URL import url_join [as 别名]
def test_url_join_case07(self):
u = URL('http://w3af.com/')
self.assertEqual(u.url_join('http://w3af.org:8080/abc.html').url_string,
u'http://w3af.org:8080/abc.html')
示例7: test_url_join_case05
# 需要导入模块: from w3af.core.data.parsers.doc.url import URL [as 别名]
# 或者: from w3af.core.data.parsers.doc.url.URL import url_join [as 别名]
def test_url_join_case05(self):
u = URL('http://w3af.com/def/')
self.assertEqual(u.url_join(u'тест').url_string,
u'http://w3af.com/def/тест')