当前位置: 首页>>代码示例>>Python>>正文


Python URL.url_join方法代码示例

本文整理汇总了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')
开发者ID:batmanWjw,项目名称:w3af,代码行数:9,代码来源:test_url.py

示例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')
开发者ID:batmanWjw,项目名称:w3af,代码行数:9,代码来源:test_url.py

示例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)
开发者ID:0x554simon,项目名称:w3af,代码行数:57,代码来源:redirect.py

示例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)
开发者ID:image-tester,项目名称:w3af-module,代码行数:17,代码来源:test_web_spider.py

示例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:
开发者ID:ZionOps,项目名称:w3af,代码行数:39,代码来源:xssed_dot_com.py

示例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')
开发者ID:batmanWjw,项目名称:w3af,代码行数:6,代码来源:test_url.py

示例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/тест')
开发者ID:batmanWjw,项目名称:w3af,代码行数:6,代码来源:test_url.py


注:本文中的w3af.core.data.parsers.doc.url.URL.url_join方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。