首页 / 知识
关于apache:URL中是否允许使用方括号?
2023-04-14 00:07:00

Are square brackets permitted in URLs?URL中是否允许使用方括号? 我注意到Apache Commons HttpClient(3.0.1)抛出IOException,wget和Firefox接受方括号。 网址示例:
我的HTTP客户端遇到了这样的URL,但是我不确定是要修补代码还是引发异常(实际上应该如此)。 RFC 3986状态
因此,理论上您不应在野外看到此类URI,因为它们应该经过编码。 我知道这个问题有点老了,但是我只想指出PHP使用括号在URL中传递数组。
在这种情况下,
URL中通常不支持方括号 将它们替换为
有关更多详细信息,请参阅RFC 3986中指定的URL语法。附录A大约是查询字符串中的 任何引入URL且在引入特殊字符时都不会引发异常的浏览器或支持Web的软件几乎可以保证在幕后对特殊字符进行编码。弯括号,方括号,空格等均具有特殊的编码方式来表示它们,以免产生冲突。按照前面的答案,处理这些问题的最安全方法是先对它们进行URL编码,然后再将其交给尝试解析URL的对象。 路径名中唯一不允许使用的字符是#和?因为它们表示道路的尽头。 uri rfc将有明确的答案: http://www.ietf.org/rfc/rfc1738.txt
答案是它们应该是十六进制编码的,但是了解Postel的定律,大多数事情都会逐字接受它们。 StackOverflow似乎不对它们进行编码: https://stackoverflow.com/search?q=square+brackets+[url] 为了使用HttpClient commons类,您需要研究org.apache.commons.httpclient.util.URIUtil类,特别是encode()方法。在尝试获取URL之前,使用它对URL进行URI编码。 根据URL规范,方括号不是有效的URL字符。 以下是相关片段:
最好使用URL进行编码,因为显然并非所有Web服务器都支持它们。有时,即使有标准,也并非每个人都遵循。 方括号被认为是不安全的,但是大多数浏览器会正确解析它们。话虽如此,最好用其他字符替换方括号。 |
最新内容
相关内容
红帽linux命令和示例?
红帽linux命令和示例?,系统,软件,密码,工作,网络,命令,中心,地址,设备,官网,红帽子Linux如何用命令创建新用户?打开xshell软件,远程访问您的服Python文件操作步骤示例
Python文件操作步骤示例,异常,代码,信息,文件,设计,简介,通用,意外,中级,培训,我们来读取这样一个文本文件:song.txt,该文件的字符编码为utf-8python怎么抛出异常不乱码
python怎么抛出异常不乱码,异常,代码,信息,基础,检测,培训,语句,发生,程序,乱码,当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执python出错时怎么抛出异常
python出错时怎么抛出异常,异常,代码,信息,基础,检测,培训,语句,发生,程序,结束,基础异常处理try/except语句用来检测try语句块中的错误,从而python如何定义接受参数的函数
python如何定义接受参数的函数,信息,培训,位置,参数,函数,列子,效果,定义,更多,内容,python中的函数可以有参数,也可以无参数,参数可以分为默认python怎么抛出异常信息
python怎么抛出异常信息,异常,代码,信息,基础,检测,培训,语句,发生,程序,除数,当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行python不抛出异常怎么办
python不抛出异常怎么办,异常,信息,培训,检测,基础,语句,发生,程序,除数,错误,异常是Python对象,表示一个错误。当Python脚本发生异常时我们需关于信号处理:需要软件锁相环示例代
关于信号处理:需要软件锁相环示例代码,关于信号处理:需要软件锁相环示例代码,代码示例,跟踪,我在,都能,Software Phase Locked Loop ex关于c ++:动态转换的一些“好用”示
关于c ++:动态转换的一些“好用”示例是什么?,关于c ++:动态转换的一些“好用”示例是什么?,转换,动态,我想,好用,What are some 'good关于sql server:连接字符串中未接受
关于sql server:连接字符串中未接受超时,关于sql server:连接字符串中未接受超时,运行,输入,连接字符串,语句,Timeout not being honou关于tsql:SQL Server:PIVOTing字符串
关于tsql:SQL Server:PIVOTing字符串数据的示例,关于tsql:SQL Server:PIVOTing字符串数据的示例,数字,示例,求和,我只想,SQL Server: Exa关于C#:捕获和重新抛出.NET异常的最
关于C#:捕获和重新抛出.NET异常的最佳实践,关于C#:捕获和重新抛出.NET异常的最佳实践,确保,最佳实践,捕获异常,对象,Best practices fo