精华内容
下载资源
问答
  • url允许的字符

    万次阅读 2018-05-17 12:34:51
    url允许的字符如下 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 -_.~!*'();:@&=+$,/?#[] //保留字符 如果要传输其他字符则必须urlencode之后再传输 另外,保留字符均有特殊...

    url允许的字符如下

    ABCDEFGHIJKLMNOPQRSTUVWXYZ
    abcdefghijklmnopqrstuvwxyz
    0123456789
    -_.~!*'();:@&=+$,/?#[] //保留字符

    如果要传输其他字符则必须urlencode之后再传输

    另外,保留字符均有特殊含义,若传输的保留字符纯粹是属于一个value值,那么也需要先进行urlencode之后再传输

    特殊符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。比如&符号,如果把它当做query string的连接符,那么用&即可,如果把它当做一个value中的特殊字符,则需要使用其urlencode编码%26

    下表中列出了一些URL特殊符号及编码。

    序号 特殊字符 含义 十六进制值
    1. + URL 中+号表示空格 %2B
    2. 空格 URL中的空格可以用+号或者编码 %20
    3. / 分隔目录和子目录 %2F
    4. ? 分隔实际的 URL 和参数 %3F
    5. % 指定特殊字符 %25
    6. # 表示书签 %23
    7. & URL 中指定的参数间的分隔符 %26
    8. = URL 中指定参数的值 %3D
    展开全文
  • URL允许的字符记录

    千次阅读 2018-10-09 21:48:19
    仅供自己做记录。 转载:... 首先,在URL中有特殊意义的字符,也就是保留字符: ; / ? : @ & = + $ , {10个} 这意味着,这些字符通常在URL中使用时,是有特殊含义的(如 ":"把每一个...

    仅供自己做记录。
    转载:https://www.zhihu.com/question/24474922/answer/33358420

    首先,在URL中有特殊意义的字符,也就是保留字符: ; / ? : @ & = + $ , {10个} 这意味着,这些字符通常在URL中使用时,是有特殊含义的(如 ":"把每一个部分分隔开来), 如果一个URL的某一部分(如查询参数的一部分)可能包含这些字符之一,则应该在放入URL之前 对其进行转义处理.

    第二组需要注意的字符集是非保留字符集.如下: - _ . ! ~ * ’ ( ) {9个} 这些字符可以被用于URL的任何位置(有些地方,不允许它们出现). 使用它们作为URL的一部分时,你不需要进行编码/转义处理.你可以对它们进行转义操作且不影响URL 的语义,但不建议这么做.

    第三组 不推荐字符 也就是避用字符集合使用它们是不明智的:{ } | \ ^ [ ] `::数字1键前:: {8个}不明智的原因:网关有时会修改这样的字符,或者将其作为分隔符使用.这并不意味着网关总会修改这些字符,但这种情况可能发生.如果真是要使用这些字符,请做转义处理.

    第四组 例外字符集 这组字符集是所有的ASCII控制字符组成.包含空格字符以下列字符:< > # % " {5 个}控制字符是不可打印的US-ASCII字符(十六进制00~1F及7F)如果使用,请转义处理.有些字符#(哈希)和%(百分比)在URL上下文中有着特殊含义,你可以把它们当作保留字符对待.这个集合中的其它字符无法被打印,因此对它们进行转义是唯一的表示方式, < > " 这三个字符需要被转义,因为这些字符通常用来在文本中分隔URL

    展开全文
  • 设置url允许的字符

    2019-05-05 19:40:22
    1、去除URL特殊字符; 3、使用 Post 方法提交数据 4、更换低版本Tomcat来规避这种问题。 5、在 conf/catalina.properties 添加或者修改:   5.1 添加 tomcat.util....

    May 05, 2019 5:46:06 PM org.apache.coyote.http11.Http11Processor service
    INFO: Error parsing HTTP request header
     Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level.
    java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
            at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:467)
            at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:294)
            at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
            at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
            at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415)
            at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
            at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
            at java.lang.Thread.run(Thread.java:745)

     

    最近在切换旧的spring项目到springboot,顺便把服务器换成tomcat.

    在测试中发现报错,查了一下发现

    错误原因:

    当在浏览器中访问时 URL中带有特殊字符,如花括号冒号时,就会出现这个错误。

    例如:http://local:80/index.do?{id:123}

    解决方法:

    1、去除URL中的特殊字符;

    3、使用 Post 方法提交数据

    4、更换低版本的Tomcat来规避这种问题。

    5、在 conf/catalina.properties  添加或者修改: 

      5.1  添加  tomcat.util.http.parser.HttpParser.requestTargetAllow=|{} 

    5.2  修改tomcat/conf/catalina.properties的配置文件 
    Tomcat在 7.0.73, 8.0.39, 8.5.7 版本后,添加了对于http头的验证。 
    具体来说,就是添加了些规则去限制HTTP头的规范性 
    org.apache.tomcat.util.http.parser.HttpParser#IS_NOT_REQUEST_TARGET[]中定义了一堆not request target 
    if(IS_CONTROL[i] || i > 127 || i == 32 || i == 34 || i == 35 || i == 60 || i == 62 || i == 92 || i == 94 || i == 96 || i == 123 || i == 124 || i == 125) { 
    IS_NOT_REQUEST_TARGET[i] = true; 

     

    但是我们现在设置的是springboot集成的tomcat,没办法去改文件.所以呢

    设置属性来解决RelaxedQueryChars属性

     解决问题如下:

    /**
     * 解决异常信息:
     *  java.lang.IllegalArgumentException:
     *      Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
     * @return
     */
    @Bean
    public ConfigurableServletWebServerFactory webServerFactory() {
        TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
        factory.addConnectorCustomizers(new TomcatConnectorCustomizer() {
            @Override
            public void customize(Connector connector) {
                connector.setProperty("relaxedQueryChars", "|{}[]");//给所有链接添加这个属性
            }
        });
        return factory;
    }       
    解决啦~~                

    展开全文
  • *'(),“,用于保留目的保留字符可以在URL中使用未编码的字符。编辑:正如@Jukka K.Korpela正确指出的那样,这个RFC是由RFC 3986..这已经扩展并澄清了对主机有效的字符,不幸的是,它不容易复制和粘贴,但我会尽我所...

    因此,只有字母数字,特殊字符“$-_.+!*'(),“,用于保留目的保留字符可以在URL中使用未编码的字符。

    编辑:正如@Jukka K.Korpela正确指出的那样,这个RFC是由RFC 3986..这已经扩展并澄清了对主机有效的字符,不幸的是,它不容易复制和粘贴,但我会尽我所能。

    按第一次匹配顺序:host        = IP-literal / IPv4address / reg-name

    IP-literal  = "[" ( IPv6address / IPvFuture  ) "]"IPvFuture   = "v" 1*HEXDIG "." 1*( unreserved / sub-delims / ":" )IPv6address =         6( h16 ":" ) ls32                  /                       "::" 5( h16 ":" ) ls32                  / [               h16 ] "::" 4( h16 ":" ) ls32                  / [ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32                  / [ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32                  / [ *3( h16 ":" ) h16 ] "::"    h16 ":"   ls32                  / [ *4( h16 ":" ) h16 ] "::"              ls32                  / [ *5( h16 ":" ) h16 ] "::"              h16                  / [ *6( h16 ":" ) h16 ] "::"ls32        = ( h16 ":" h16 ) / IPv4address                  ; least-significant 32 bits of addressh16         = 1*4HEXDIG

    ; 16 bits of address represented in hexadecimalIPv4address = dec-octet "." dec-octet "." dec-octet "." dec-octet

    dec-octet   = DIGIT                 ; 0-9

    / %x31-39 DIGIT         ; 10-99

    / "1" 2DIGIT            ; 100-199

    / "2" %x30-34 DIGIT     ; 200-249

    / "25" %x30-35          ; 250-255reg-name    = *( unreserved / pct-encoded / sub-delims )unreserved  = ALPHA / DIGIT / "-" / "." / "_" / "~"     

    reserved    = gen-delims / sub-delims

    gen-delims  = ":" / "/" / "?" / "#" / "[" / "]" / "@"sub-delims  = "!" / "$" / "&" / "'" / "(" / ")"

    / "*" / "+" / "," / ";" / "="pct-encoded = "%" HEXDIG HEXDIG

    展开全文
  • URL允许一些字符的正则表达式,需要朋友可以参考下
  • URL允许出现的字符及含义

    千次阅读 2019-04-02 09:15:23
    url允许的字符如下 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 -_.~!*'();:@&=+$,/?#[] //保留字符 1 2 3 4 如果要传输其他字符则必须urlencode之后再传输 另外,保留字符均有特殊...
  • URI(URL) 允许的字符

    千次阅读 2015-08-25 20:50:35
    URI所允许的字符分作保留与未保留。保留字符是那些具有特殊含义的字符. 例如, 斜线字符用于URL (或者更一般的, URI)不同部分的分界符. 未保留字符没有这些特殊含义. 百分号编码把保留字符表示为特殊字符序列。上述...
  • URL中合法的字符

    千次阅读 2019-06-17 15:27:59
    url允许的字符如下 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 -_.~!*'();:@&=+$,/?#[] //保留字符 如果要传输其他字符则必须urlencode之后再传输 另外,保留字符均有特殊含义,若传输...
  • 正常情况下,URL只能使用英文字母、数字和某些标点符号,其他的字符是不允许出现在 URL里面的。比如,最常见的 URL就是百度的网址:"http://www.baidu.com",但是没有希腊字母的网址“http://www.aβγ.com"。这是...
  • JSONCrush-将JSON压缩为URL友好的字符串 这个简单的系统允许使用JSCrush算法对uri编码的JSON字符串进行出色的压缩。 JSCrush算法消除了类似于zip算法的重复子字符串。 处理字符串以将普通的json字符换成不会在URL...
  • 在做 URL Rewrite 时可能遇到这类问题,即想要使用的 Rewrite 后的目标 URL 中会含有特殊字符,或者说不能直接映射到操作系统的文件系统允许的文件名格式,比如以 “.” 结尾等等。如果不做特殊处理的话则 ASP.NET ...
  • codeIgniter默认配置下是不允许URL中包含非ASCII字符的,如果URL中含非ASCII字符,那么CI会毫不客气抛出错误。本文章向码农介绍CodeIgniter 如何解决URL含有中文字符串。 你 可能会说,那我把这个URL使用函数...
  • 重定向不允许的字符

    2012-11-30 15:11:22
    <p>I looked at doing it with hooks, but I'd like to be able to specify a custom URL when I want to execute the check. <p>I was thinking about using a call to a library method which will pull in the ...
  • url传值特殊字符编码

    千次阅读 2015-08-15 16:51:15
    为什么需要Url编码 ...Url编码的原则就是使用安全的字符(没有特殊用途或者特殊意义的可打印字符)去表示那些不安全的字符。 哪些字符需要编码 RFC3986文档规定,Url中只允许包含英文字母(a-zA-
  • URL字符编码

    2019-02-23 11:12:52
     URL--某些协议传送字符时会剥去特定字符,有些不允许设置URL通用字母表以外的字符。大多URL字符集使用的是US-ASCII字符集,但是对于非罗马语言及要传送二进制数据需要引进转义来达到效果。  转义表示法:'%'+'两...
  • 聊聊url特殊字符

    2020-09-15 17:04:44
    正常情况下,URL只能使用英文字母、数字和某些标点符号,其他的字符是不允许出现在 URL里面的。比如,最常见的 URL就是百度的网址:“http://www.baidu.com”,但是没有希腊字母的网址“http://www.aβγ.com"。这是...
  • <p>I though this should allow <code>%</code> to be allowed in the url. If I set config as <pre><code>$config['permitted_uri_chars'] = ''; </code></pre> <p>Works fine. Is the config string not ...
  • codeIgniter默认配置下是不允许URL中包含非ASCII字符的,如果我们有这样一个字符串: 那么CI会毫不客气告诉你: The URI you submitted has disallowed characters. 你 可能会说,那我把这个URL使用函数...
  • URL特殊字符转义

    2019-02-26 18:38:29
    Url中只允许包含英文字母(a-z,A-Z)、数字(0-9)、- _ . ~ 4个特殊字符以及所有保留字符。 保留字符:! * ’ ( ) ; : @ &amp; = + $ , / ? # [ ]   在js中GET请求接口时,参数中带有除上面字符以外其他...
  • RFC3986文档规定,Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个特殊字符,这些字符被称为未保留字符 以及所有保留字符Url中只允许使用可打印字符。US-ASCII码中10-7F字节全都表示控制字符,这些...
  • url: url, data: "", success: function (data) { $(".error-log").html(''); window.open(url, '_blank'); }, error:function (xhr, ajaxOptions, thrownError) { $(".error-log").html(xhr....
  • 根据rfc规范,url中不允许有 |,{,}等特殊字符,但在实际生产中还是有些url有可能携带有这些字符,特别是|还是较为常见。在tomcat升级到8以后,对url字符的检查都变严格了,如果出现这类字符,tomcat将直接返回...
  • 关于url中有特殊字符的处理

    千次阅读 2011-02-17 18:03:00
     今天构造url的查询条件时,有一个需要按礼品描述信息来查询的需求,我把查询条件放在url里, 试了几个正常,当描述信息中带有特殊字符时(像$,[,]这些),提示这样的字符url中是不被允许的, ...
  • 它使您可以创建漂亮的URL并使用对人类友好的字符串,就好像它们是数字ID。 借助FriendlyId,可以轻松使您的应用使用以下网址: https://example.com/states/washington 代替: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,057
精华内容 422
热门标签
关键字:

url允许的字符