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

    2020-12-20 12:18:56
    *'(),“,用于保留目的保留字符可以在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

    展开全文
  • 根据rfc规范,url不允许有 |,{,}等特殊字符,但在实际生产中还是有些url有可能携带有这些字符,特别是|还是较为常见的。在tomcat升级到7以后,对url字符的检查都变严格了,如果出现这类字符,tomcat将直接返回...

    根据rfc规范,url中不允许有 |,{,}等特殊字符,但在实际生产中还是有些url有可能携带有这些字符,特别是|还是较为常见的。在tomcat升级到7以后,对url字符的检查都变严格了,如果出现这类字符,tomcat将直接返回400状态码。
    可以通过修改tomcat的server.xml配置来修改规范

     <Connector port="8080" protocol="HTTP/1.1"  useBodyEncodingForURI="true" relaxedPathChars="[]|{}^&#x5c;&#x60;&quot;&lt;&gt;" relaxedQueryChars="[]|{}^&#x5c;&#x60;&quot;&lt;&gt;"
                   connectionTimeout="20000"
                   redirectPort="8443" />
    
    
    1、加入useBodyEncodingForURI="true"
    能够解决query String的乱码问题。
    useBodyEncodingForURI=true -> 使用http header中指定charset进行decode(例如:Content-Type: charset=UTF-8),若未指定,则使用默认值ISO-8859-1
    
    2、加入relaxedPathChars="[]|{}^&#x5c;&#x60;&quot;&lt;&gt;"
    能够解决url中含有相关的字符tomcat直接拒绝的问题
    
    3、relaxedQueryChars="[]|{}^&#x5c;&#x60;&quot;&lt;&gt;"
    能够解决传递参数中含有相关的字符tomcat直接拒绝的问题,tomcat特殊字符不识别问题
    
    
    展开全文
  • 这是因为 Tomcat 严格按照 RFC 3986规范进行访问解析,而 RFC 3986规范定义了Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~ 4个特殊字符以及所有保留字符 (RFC3986中指定了以下字符为保留字符:!...

    在我们项目中有一些导出的地方使用 get 请求后台,并且将页面上面的查询参数进行了序列化传递给后台。今天发现测试版服务器上的应用无法正常导出,最后发现是 Tomcat 的机制导致。

    这是因为 Tomcat 严格按照 RFC 3986规范进行访问解析,而 RFC 3986规范定义了Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~ 4个特殊字符以及所有保留字符 (RFC3986中指定了以下字符为保留字符:! * ’ ( ) ; : @ & = + $ , / ? # [ ])。传入的参数中有"{"不在RFC3986中的保留字段中,所以会报这个错。

    解决方案:
    1.修改 server.xml 文件, 添加 relaxedQueryChars 参数

    <Connector URIEncoding="GBK" port="8080" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443"
    			   maxHttpHeaderSize="81920" relaxedPathChars="|{}[],%" relaxedQueryChars="|{}[],%\`"/>
    
    展开全文
  • 聊聊url中的特殊字符

    2020-12-20 12:18:55
    正常情况下,URL只能使用英文字母、数字和某些标点符号,其他的字符不允许出现在 URL里面的。比如,最常见的 URL就是百度的网址:"http://www.baidu.com",但是没有希腊字母的网址“http://www.aβγ.com"。这是...

    我们平常访问网页的时候,都是在访问一个个的网页URL,但是我们可能没有关注过这些URL,其实这里面还是有很大学问的。

    正常情况下,URL只能使用英文字母、数字和某些标点符号,其他的字符是不允许出现在 URL里面的。比如,最常见的 URL就是百度的网址:"http://www.baidu.com",但是没有希腊字母的网址“http://www.aβγ.com"。这是因为网络标准RFC 1738做了硬性规定:

    "...Only alphanumerics [0-9a-zA-Z], the special characters "$-_.+!*'()," [not including the quotes - ed], and reserved characters used for their reserved purposes may be used unencoded within a URL."

    “只有字母和数字[0-9a-zA-Z]、一些特殊符号“$-_.+!*'(),”[不包括双引号]、以及某些保留字,才可以不经过编码直接用于URL。”

    平常我们在 URL中传递一些参数时,大概率会有一些特殊字符或者中文参数或URL地址,一般浏览器就会对这些特殊的字符进行处理,否则在服务器后台处理的时候就会出现错误。这些特殊符号在URL中是不能直接传递的,只能传递经过编码后的字符,在服务器后台在进行解码处理。

    编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。例如空格的编码值是"%20"。下表中列出了一些URL特殊符号及编码。

    下面是C++的URL编码实现以及在 Linux下的输出结果:

    展开全文
  • URL允许一些字符的正则表达式譬如 限制只允许正则出现以下的a-Z0-9http:// 匹配连贯https:// 匹配连贯/ 可连续两个出现&%? 可连续两个出现= 等号- 中划线_ 下划线. 点 很重要有如下正则符合^((?:http|...
  • 有些符号在URL中是能直接传递的,如果要在URL中...如果使用转义字符,这些编码就会当URL中定义的特殊字符处理。下表中列出了一些URL特殊符号及编码 十六进制值1.+ URL 中+号表示空格 %2B2.空格 URL中的空格可...
  • 摘要 腾兴网为您分享:url特殊字符转义小知识,余额宝,学习帮,小牛,完美志愿等软件知识,以及joinme,hackertyperneo,疯子苹果,mse杀毒软件,心动表情包,巫师3优化补丁,酷娃,米妮的英文,畅捷通软件,汽车之家...
  • 哪些字符使URL无效?

    2021-06-10 15:38:40
    白衣非少年这里的大多数现有答案都是切实际的,因为它们完全忽略了地址在现实世界中的用法,例如:...它们是有效的URL吗?从历史上看,答案是“”。根据RFC 3986,从2005年起,这些...
  • java判断字符串是否是url的方法

    千次阅读 2021-02-12 14:32:18
    java判断字符串是否是url的方法发布时间:2020-06-25 15:20:07来源:亿速云阅读:453作者:Leah本篇文章为大家展示了java判断字符串是否是url的方法,代码简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的...
  • 一,问题出现经过:j基于java语言webservic服务端接收客户端 传来的xml字符串用 解析时总报:org.dom4j.DocumentException:Erroronline1ofdocument:前言中不允许有内容。Nestedexception:前言中不允许有内容。xml...
  • The valid characters are defined in RFC 7230 and RFC 3986 ** 出现上述问题是HTTP请求中含有服务器不允许字符,例如json的引号,一些括号等 ** 解决方案 ** springboot自带tomcat的解决: 在主启动类加入以下...
  • java-如何找出字符串是否已被URL编码?如何检查字符串是否已经编码?例如,如果我对TEST==进行编码,则得到TEST%3D%3D。如果我对最后一个字符串再次进行编码,则得到TEST%253D%253D,在这样做之前,我必须知道它是否...
  • 网址URL中特殊字符转义编码字符 - URL编码值空格 - %20" - %22# - %23% - %25& - %26( - %28) - %29+ - %2B, - %2C/ ...
  • URL中特殊字符的转义

    2020-12-20 12:18:53
    转义原因:避免引起歧义现在URL会使用key=value的形式传参,键值对间使用&分隔,如/s?username=abc& password=123&fff。正常来说,第一对键值是...,URL会根据这个字符分隔字符串,这就导致接收URL的服务...
  • react-router url参数更新 但是页面更新的解决办法今天发现, 当使用react-router(v4.2.2)时,路由需要传入参数, 但是如果路由跳转时,url仅仅改变的是参数部分,如从hello/1跳转到hello/2,此时虽然参数更新了,但是...
  • iOS URL 字符转义问题

    2021-06-09 09:25:43
    再此过程中,遇到了URL字符串自动转义的问题,记录一下~项目需要从本地加载的Url链接是/var/mobile/Containers/Data/Application/22438350-8530-4B0B-BFDD-FBCE7A9F873B/Documents/components/...
  • URL 编码URL 编码就是将 URLs 中不宜打印的字符或者具有特殊意义的字符转换为 Web 浏览器和服务器明白且普遍接受的表示法。 这些字符包括:ASCII 控制字符 - 不宜打印的字符通常用于输出控制。字符范围是十六进制的 ...
  • 原因多种多样,如Size过大,包含隐私数据,对于Url来说,之所以要进行编码,是因为Url中有些字符会引起歧义。例如Url参数字符串中使用key=value键值对这样的形式来传参,键值对之间以&符号分隔,如/s?q=abc&...
  • 特殊字符URL编码对应表 序号 特殊字符 URL编码值 1 空格 %20 2 " %22 3 # %23 4 % %25 5 & %26 6 ( %28 7 ) %29 8 + %2B ...
  • java url特殊字符报400

    2021-03-14 16:37:21
    这个问题纠缠了我很久了,终于在今天早上解决了,感谢自己的放弃和不断尝试的决心,我坚信,我可以找到解决方式!!项目用的spring +spring mvc + mybatis框架,关于统一错误页面在开发的过程中就做过编码,并且一直都很...
  • 注意:字体会影响某些特殊字符的正常显示!比如:日语编码下使用中文字体“/”显示为“¥”!CSS的影响是巨大滴!轻松对应特殊字符之我见:string Title=HttpUtility.HtmlEncode...//对应SQL中的单引号URL中的特殊...
  • The authority filter for JAVA.Based JAVA's Filter.Check the url permission is allowed or not.基于java 过滤器(Filter)实现对权限控制的框架。Depend on :log4j.jar,fastjson.jar软件由三部分组成:权限过滤器...
  • 今天小编跟大家讲解下有关整理HTML5...URL 编码URL 编码就是将 URLs 中不宜打印的字符或者具有特殊意义的字符转换为 Web 浏览器和服务器明白且普遍接受的表示法。 这些字符包括:ASCII 控制字符 - 不宜打印的字符通...
  • 在和web服务进行交互时,我们经常需要对URL中的特定字符和传输的表单数据进行百分号编码。例如,’&’在百分号编码时会变成’%26’。搞清楚 URL中哪部分的哪些字符应该进行百分号编码了并不是件易事。最好的资料...
  • 根据rfc规范,url不允许有 |,{,}等特殊字符,但在实际生产中还是有些url有可能携带有这些字符,特别是|还是较为常见的。在tomcat升级到7以后,对url字符的检查都变严格了,如果出现这类字符,服务器tomcat将直接...
  • URL编码、字符

    2021-11-25 15:55:33
    1、URL编码 遵循下列规则: 每对name/value由&...其实url编码就是一个字符编码的十六进制。不过稍微有些变动,需要在每个字节前面加上“%”。比如“\”,它的编码是92,92的十六进制是5c,所以“\”的url编码就是%
  • 这是因为Tomcat严格按照 RFC 3986规范进行访问解析,而 RFC 3986规范定义了Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个特殊字符以及所有保留字符(RFC3986中指定了以下字符为保留字符:! * ’ ( ) ; : ...
  • 以下为学习整理内容,供自己翻阅和他人翻阅使用通配符(shell)*匹配任意多的...characters]匹配任意一个属于字符集中的字符[[:class:]]匹配任意一个属于指定字符类中的字符{string1,string2,...} 匹配 sring1 或 s...
  • 其右面的字符,就是该位置的标识符。比如,http://www.example.com/index.html#print就代表网页index.html的print位置。浏览器读取这个URL后,会自动将print位置滚动至可视区域。为网页位置指定标识符,有两个方法。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 339,072
精华内容 135,628
关键字:

url不允许的字符