• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python urls.uri_to_iri函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中werkzeug.urls.uri_to_iri函数的典型用法代码示例。如果您正苦于以下问题:Python uri_to_iri函数的具体用法?Python uri_to_iri怎么用?Python uri_to_iri使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了uri_to_iri函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: test_iri_support

def test_iri_support():
    strict_eq(urls.uri_to_iri("http://xn--n3h.net/"), u"http://\u2603.net/")
    strict_eq(
        urls.uri_to_iri(b"http://%C3%BCser:p%C3%[email protected]/p%C3%A5th"),
        u"http://\xfcser:p\[email protected]\u2603.net/p\xe5th",
    )
    strict_eq(urls.iri_to_uri(u"http://☃.net/"), "http://xn--n3h.net/")
    strict_eq(
        urls.iri_to_uri(u"http://üser:pä[email protected]☃.net/påth"),
        "http://%C3%BCser:p%C3%[email protected]/p%C3%A5th",
    )

    strict_eq(
        urls.uri_to_iri("http://test.com/%3Fmeh?foo=%26%2F"),
        u"http://test.com/%3Fmeh?foo=%26%2F",
    )

    # this should work as well, might break on 2.4 because of a broken
    # idna codec
    strict_eq(urls.uri_to_iri(b"/foo"), u"/foo")
    strict_eq(urls.iri_to_uri(u"/foo"), "/foo")

    strict_eq(
        urls.iri_to_uri(u"http://föö.com:8080/bam/baz"),
        "http://xn--f-1gaa.com:8080/bam/baz",
    )
开发者ID:pallets,项目名称:werkzeug,代码行数:26,代码来源:test_urls.py


示例2: get_current_url

def get_current_url(environ, root_only=False, strip_querystring=False,
                    host_only=False, trusted_hosts=None):
    """A handy helper function that recreates the full URL for the current
    request or parts of it.  Here an example:

    >>> from werkzeug.test import create_environ
    >>> env = create_environ("/?param=foo", "http://localhost/script")
    >>> get_current_url(env)
    'http://localhost/script/?param=foo'
    >>> get_current_url(env, root_only=True)
    'http://localhost/script/'
    >>> get_current_url(env, host_only=True)
    'http://localhost/'
    >>> get_current_url(env, strip_querystring=True)
    'http://localhost/script/'

    This optionally it verifies that the host is in a list of trusted hosts.
    If the host is not in there it will raise a
    :exc:`~werkzeug.exceptions.SecurityError`.

    :param environ: the WSGI environment to get the current URL from.
    :param root_only: set `True` if you only want the root URL.
    :param strip_querystring: set to `True` if you don't want the querystring.
    :param host_only: set to `True` if the host URL should be returned.
    :param trusted_hosts: a list of trusted hosts, see :func:`host_is_trusted`
                          for more information.
    """
    from werkzeug.urls import uri_to_iri
    tmp = [environ['wsgi.url_scheme'], '://', get_host(environ, trusted_hosts)]
    cat = tmp.append
    if host_only:
        return uri_to_iri(''.join(tmp) + '/')
    cat(urls.url_quote(environ.get('SCRIPT_NAME', '').rstrip('/')))
    if root_only:
        cat('/')
    else:
        cat(urls.url_quote('/' + environ.get('PATH_INFO', '').lstrip('/')))
        if not strip_querystring:
            qs = environ.get('QUERY_STRING')
            if qs:
                # QUERY_STRING really should be ascii safe but some browsers
                # will send us some unicode stuff (I am looking at you IE).
                # In that case we want to urllib quote it badly.
                try:
                    if hasattr(qs, 'decode'):
                        qs.decode('ascii')
                    else:
                        qs.encode('ascii')
                except UnicodeError:
                    qs = ''.join(x > 127 and '%%%02X' % x or c
                                 for x, c in ((ord(x), x) for x in qs))
                cat('?' + qs)
    return uri_to_iri(''.join(tmp))
开发者ID:methane,项目名称:werkzeug,代码行数:53,代码来源:wsgi.py


示例3: get_current_url

def get_current_url(environ, root_only=False, strip_querystring=False,
                    host_only=False, trusted_hosts=None):
    """A handy helper function that recreates the full URL as IRI for the
    current request or parts of it.  Here an example:

    >>> from werkzeug.test import create_environ
    >>> env = create_environ("/?param=foo", "http://localhost/script")
    >>> get_current_url(env)
    'http://localhost/script/?param=foo'
    >>> get_current_url(env, root_only=True)
    'http://localhost/script/'
    >>> get_current_url(env, host_only=True)
    'http://localhost/'
    >>> get_current_url(env, strip_querystring=True)
    'http://localhost/script/'

    This optionally it verifies that the host is in a list of trusted hosts.
    If the host is not in there it will raise a
    :exc:`~werkzeug.exceptions.SecurityError`.

    Note that the string returned might contain unicode characters as the
    representation is an IRI not an URI.  If you need an ASCII only
    representation you can use the :func:`~werkzeug.urls.iri_to_uri`
    function:

    >>> from werkzeug.urls import iri_to_uri
    >>> iri_to_uri(get_current_url(env))
    'http://localhost/script/?param=foo'

    :param environ: the WSGI environment to get the current URL from.
    :param root_only: set `True` if you only want the root URL.
    :param strip_querystring: set to `True` if you don't want the querystring.
    :param host_only: set to `True` if the host URL should be returned.
    :param trusted_hosts: a list of trusted hosts, see :func:`host_is_trusted`
                          for more information.
    """
    tmp = [environ['wsgi.url_scheme'], '://', get_host(environ, trusted_hosts)]
    cat = tmp.append
    if host_only:
        return uri_to_iri(''.join(tmp) + '/')
    cat(url_quote(wsgi_get_bytes(environ.get('SCRIPT_NAME', ''))).rstrip('/'))
    cat('/')
    if not root_only:
        cat(url_quote(wsgi_get_bytes(environ.get('PATH_INFO', '')).lstrip(b'/')))
        if not strip_querystring:
            qs = get_query_string(environ)
            if qs:
                cat('?' + qs)
    return uri_to_iri(''.join(tmp))
开发者ID:0x00xw,项目名称:wooyun,代码行数:49,代码来源:wsgi.py


示例4: log_request

    def log_request(self, code='-', size='-'):
        try:
            path = uri_to_iri(self.path)
            msg = "%s %s %s" % (self.command, path, self.request_version)
        except AttributeError:
            # path isn't set if the requestline was bad
            msg = self.requestline

        code = str(code)

        if termcolor:
            color = termcolor.colored

            if code[0] == '1':    # 1xx - Informational
                msg = color(msg, attrs=['bold'])
            elif code[0] == '2':    # 2xx - Success
                msg = color(msg, color='white')
            elif code == '304':   # 304 - Resource Not Modified
                msg = color(msg, color='cyan')
            elif code[0] == '3':  # 3xx - Redirection
                msg = color(msg, color='green')
            elif code == '404':   # 404 - Resource Not Found
                msg = color(msg, color='yellow')
            elif code[0] == '4':  # 4xx - Client Error
                msg = color(msg, color='red', attrs=['bold'])
            else:                 # 5xx, or any other response
                msg = color(msg, color='magenta', attrs=['bold'])

        self.log('info', '"%s" %s %s', msg, code, size)
开发者ID:gaoussoucamara,项目名称:simens-cerpad,代码行数:29,代码来源:serving.py


示例5: test_iri_support

    def test_iri_support(self):
        self.assert_raises(UnicodeError, urls.uri_to_iri, u'http://föö.com/')
        self.assert_raises(UnicodeError, urls.iri_to_uri, 'http://föö.com/')
        assert urls.uri_to_iri('http://xn--n3h.net/') == u'http://\u2603.net/'
        assert urls.uri_to_iri('http://%C3%BCser:p%C3%[email protected]/p%C3%A5th') == \
            u'http://\xfcser:p\[email protected]\u2603.net/p\xe5th'
        assert urls.iri_to_uri(u'http://☃.net/') == 'http://xn--n3h.net/'
        assert urls.iri_to_uri(u'http://üser:pä[email protected]☃.net/påth') == \
            'http://%C3%BCser:p%C3%[email protected]/p%C3%A5th'

        assert urls.uri_to_iri('http://test.com/%3Fmeh?foo=%26%2F') == \
            u'http://test.com/%3Fmeh?foo=%26%2F'

        # this should work as well, might break on 2.4 because of a broken
        # idna codec
        assert urls.uri_to_iri('/foo') == u'/foo'
        assert urls.iri_to_uri(u'/foo') == '/foo'
开发者ID:sean-,项目名称:werkzeug,代码行数:17,代码来源:urls.py


示例6: test_uri_iri_normalization

def test_uri_iri_normalization():
    uri = "http://xn--f-rgao.com/%E2%98%90/fred?utf8=%E2%9C%93"
    iri = u"http://föñ.com/\N{BALLOT BOX}/fred?utf8=\u2713"

    tests = [
        u"http://föñ.com/\N{BALLOT BOX}/fred?utf8=\u2713",
        u"http://xn--f-rgao.com/\u2610/fred?utf8=\N{CHECK MARK}",
        b"http://xn--f-rgao.com/%E2%98%90/fred?utf8=%E2%9C%93",
        u"http://xn--f-rgao.com/%E2%98%90/fred?utf8=%E2%9C%93",
        u"http://föñ.com/\u2610/fred?utf8=%E2%9C%93",
        b"http://xn--f-rgao.com/\xe2\x98\x90/fred?utf8=\xe2\x9c\x93",
    ]

    for test in tests:
        assert urls.uri_to_iri(test) == iri
        assert urls.iri_to_uri(test) == uri
        assert urls.uri_to_iri(urls.iri_to_uri(test)) == iri
        assert urls.iri_to_uri(urls.uri_to_iri(test)) == uri
        assert urls.uri_to_iri(urls.uri_to_iri(test)) == iri
        assert urls.iri_to_uri(urls.iri_to_uri(test)) == uri
开发者ID:pallets,项目名称:werkzeug,代码行数:20,代码来源:test_urls.py


示例7: test_iri_support

    def test_iri_support(self):
        self.assert_raises(UnicodeError, urls.uri_to_iri, u"http://föö.com/")
        self.assert_raises(UnicodeError, urls.iri_to_uri, "http://föö.com/")
        assert urls.uri_to_iri("http://xn--n3h.net/") == u"http://\u2603.net/"
        assert (
            urls.uri_to_iri("http://%C3%BCser:p%C3%[email protected]/p%C3%A5th")
            == u"http://\xfcser:p\[email protected]\u2603.net/p\xe5th"
        )
        assert urls.iri_to_uri(u"http://☃.net/") == "http://xn--n3h.net/"
        assert (
            urls.iri_to_uri(u"http://üser:pä[email protected]☃.net/påth")
            == "http://%C3%BCser:p%C3%[email protected]/p%C3%A5th"
        )

        assert urls.uri_to_iri("http://test.com/%3Fmeh?foo=%26%2F") == u"http://test.com/%3Fmeh?foo=%26%2F"

        # this should work as well, might break on 2.4 because of a broken
        # idna codec
        assert urls.uri_to_iri("/foo") == u"/foo"
        assert urls.iri_to_uri(u"/foo") == "/foo"
开发者ID:FakeSherlock,项目名称:Report,代码行数:20,代码来源:urls.py


示例8: test_uri_iri_normalization

    def test_uri_iri_normalization(self):
        uri = 'http://xn--f-rgao.com/%E2%98%90/fred?utf8=%E2%9C%93'
        iri = u'http://föñ.com/\N{BALLOT BOX}/fred?utf8=\u2713'

        tests = [
            u'http://föñ.com/\N{BALLOT BOX}/fred?utf8=\u2713',
            u'http://xn--f-rgao.com/\u2610/fred?utf8=\N{CHECK MARK}',
            b'http://xn--f-rgao.com/%E2%98%90/fred?utf8=%E2%9C%93',
            u'http://xn--f-rgao.com/%E2%98%90/fred?utf8=%E2%9C%93',
            u'http://föñ.com/\u2610/fred?utf8=%E2%9C%93',
            b'http://xn--f-rgao.com/\xe2\x98\x90/fred?utf8=\xe2\x9c\x93',
        ]

        for test in tests:
            self.assert_equal(urls.uri_to_iri(test), iri)
            self.assert_equal(urls.iri_to_uri(test), uri)
            self.assert_equal(urls.uri_to_iri(urls.iri_to_uri(test)), iri)
            self.assert_equal(urls.iri_to_uri(urls.uri_to_iri(test)), uri)
            self.assert_equal(urls.uri_to_iri(urls.uri_to_iri(test)), iri)
            self.assert_equal(urls.iri_to_uri(urls.iri_to_uri(test)), uri)
开发者ID:ArslanRafique,项目名称:werkzeug,代码行数:20,代码来源:urls.py


示例9: test_iri_support

    def test_iri_support(self):
        self.assert_strict_equal(urls.uri_to_iri('http://xn--n3h.net/'),
                          u'http://\u2603.net/')
        self.assert_strict_equal(
            urls.uri_to_iri(b'http://%C3%BCser:p%C3%[email protected]/p%C3%A5th'),
                            u'http://\xfcser:p\[email protected]\u2603.net/p\xe5th')
        self.assert_strict_equal(urls.iri_to_uri(u'http://☃.net/'), 'http://xn--n3h.net/')
        self.assert_strict_equal(
            urls.iri_to_uri(u'http://üser:pä[email protected]☃.net/påth'),
                            'http://%C3%BCser:p%C3%[email protected]/p%C3%A5th')

        self.assert_strict_equal(urls.uri_to_iri('http://test.com/%3Fmeh?foo=%26%2F'),
                                          u'http://test.com/%3Fmeh?foo=%26%2F')

        # this should work as well, might break on 2.4 because of a broken
        # idna codec
        self.assert_strict_equal(urls.uri_to_iri(b'/foo'), u'/foo')
        self.assert_strict_equal(urls.iri_to_uri(u'/foo'), '/foo')

        self.assert_strict_equal(urls.iri_to_uri(u'http://föö.com:8080/bam/baz'),
                          'http://xn--f-1gaa.com:8080/bam/baz')
开发者ID:ArslanRafique,项目名称:werkzeug,代码行数:21,代码来源:urls.py


示例10: get_current_url

def get_current_url(environ, root_only=False, strip_querystring=False, host_only=False, trusted_hosts=None):
    """A handy helper function that recreates the full URL for the current
    request or parts of it.  Here an example:

    >>> from werkzeug.test import create_environ
    >>> env = create_environ("/?param=foo", "http://localhost/script")
    >>> get_current_url(env)
    'http://localhost/script/?param=foo'
    >>> get_current_url(env, root_only=True)
    'http://localhost/script/'
    >>> get_current_url(env, host_only=True)
    'http://localhost/'
    >>> get_current_url(env, strip_querystring=True)
    'http://localhost/script/'

    This optionally it verifies that the host is in a list of trusted hosts.
    If the host is not in there it will raise a
    :exc:`~werkzeug.exceptions.SecurityError`.

    :param environ: the WSGI environment to get the current URL from.
    :param root_only: set `True` if you only want the root URL.
    :param strip_querystring: set to `True` if you don't want the querystring.
    :param host_only: set to `True` if the host URL should be returned.
    :param trusted_hosts: a list of trusted hosts, see :func:`host_is_trusted`
                          for more information.
    """
    tmp = [environ["wsgi.url_scheme"], "://", get_host(environ, trusted_hosts)]
    cat = tmp.append
    if host_only:
        return uri_to_iri("".join(tmp) + "/")
    cat(url_quote(wsgi_get_bytes(environ.get("SCRIPT_NAME", ""))).rstrip("/"))
    cat("/")
    if not root_only:
        cat(url_quote(wsgi_get_bytes(environ.get("PATH_INFO", "")).lstrip(b"/")))
        if not strip_querystring:
            qs = get_query_string(environ)
            if qs:
                cat("?" + qs)
    return uri_to_iri("".join(tmp))
开发者ID:JeffersonLab,项目名称:rcdb,代码行数:39,代码来源:wsgi.py


示例11: test_uri_to_iri_to_uri

 def test_uri_to_iri_to_uri(self):
     uri = 'http://xn--f-rgao.com/%C3%9E'
     iri = urls.uri_to_iri(uri)
     self.assert_equal(urls.iri_to_uri(iri), uri)
开发者ID:ArslanRafique,项目名称:werkzeug,代码行数:4,代码来源:urls.py


示例12: test_iri_to_uri_to_iri

 def test_iri_to_uri_to_iri(self):
     iri = u'http://föö.com/'
     uri = urls.iri_to_uri(iri)
     self.assert_equal(urls.uri_to_iri(uri), iri)
开发者ID:ArslanRafique,项目名称:werkzeug,代码行数:4,代码来源:urls.py


示例13: test_uri_to_iri_idempotence_non_ascii

 def test_uri_to_iri_idempotence_non_ascii(self):
     uri = 'http://xn--n3h/%E2%98%83'
     uri = urls.uri_to_iri(uri)
     self.assert_equal(urls.uri_to_iri(uri), uri)
开发者ID:ArslanRafique,项目名称:werkzeug,代码行数:4,代码来源:urls.py


示例14: test_uri_to_iri_idempotence_ascii_only

 def test_uri_to_iri_idempotence_ascii_only(self):
     uri = 'http://www.idempoten.ce'
     uri = urls.uri_to_iri(uri)
     self.assert_equal(urls.uri_to_iri(uri), uri)
开发者ID:ArslanRafique,项目名称:werkzeug,代码行数:4,代码来源:urls.py


示例15: test_iri_safe_quoting

 def test_iri_safe_quoting(self):
     uri = 'http://xn--f-1gaa.com/%2F%25?q=%C3%B6&x=%3D%25#%25'
     iri = u'http://föö.com/%2F%25?q=ö&x=%3D%25#%25'
     self.assert_strict_equal(urls.uri_to_iri(uri), iri)
     self.assert_strict_equal(urls.iri_to_uri(urls.uri_to_iri(uri)), uri)
开发者ID:ArslanRafique,项目名称:werkzeug,代码行数:5,代码来源:urls.py


示例16: test_uri_to_iri_to_uri

def test_uri_to_iri_to_uri():
    uri = 'http://xn--f-rgao.com/%C3%9E'
    iri = urls.uri_to_iri(uri)
    assert urls.iri_to_uri(iri) == uri
开发者ID:char101,项目名称:werkzeug,代码行数:4,代码来源:test_urls.py


示例17: test_iri_to_uri_to_iri

def test_iri_to_uri_to_iri():
    iri = u'http://föö.com/'
    uri = urls.iri_to_uri(iri)
    assert urls.uri_to_iri(uri) == iri
开发者ID:char101,项目名称:werkzeug,代码行数:4,代码来源:test_urls.py


示例18: test_iri_safe_quoting

def test_iri_safe_quoting():
    uri = "http://xn--f-1gaa.com/%2F%25?q=%C3%B6&x=%3D%25#%25"
    iri = u"http://föö.com/%2F%25?q=ö&x=%3D%25#%25"
    strict_eq(urls.uri_to_iri(uri), iri)
    strict_eq(urls.iri_to_uri(urls.uri_to_iri(uri)), uri)
开发者ID:pallets,项目名称:werkzeug,代码行数:5,代码来源:test_urls.py


示例19: test_uri_to_iri_dont_unquote_space

def test_uri_to_iri_dont_unquote_space():
    assert urls.uri_to_iri("abc%20def") == "abc%20def"
开发者ID:pallets,项目名称:werkzeug,代码行数:2,代码来源:test_urls.py


示例20: _as_iri

 def _as_iri(obj):
     if not isinstance(obj, text_type):
         return uri_to_iri(obj, charset, errors)
     return obj
开发者ID:methane,项目名称:werkzeug,代码行数:4,代码来源:wsgi.py



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python urls.url_decode函数代码示例发布时间:2022-05-26
下一篇:
Python urls.iri_to_uri函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap