IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:URL Encoding

共 3 篇相关文章

IT 累计浏览 1,804

Objective-C 对二进制数据 NSData 进行 URL 编码

这篇讲的是 Objective-C 开发者在处理二进制数据时常遇到的一个痛点:如何将 NSData 对象进行 URL 编码。作者指出,许多号称 Unicode 友好的语言在内存操作上往往表现笨拙,他以 PHP 为例,赞赏其将字符串与二进制统一处理的灵活性。相比之下,Objective-C 的标准库函数如 `CFURLCreateStringByAddingPercentEscapes()` 只能处理字符串,无法直接作用于 NSData,这被认为是“不把字符串当二进制”的弊端。 为此,作者提供了一个自定义的解决方案:编写一个简单的 C 函数,通过逐字节遍历 NSData,判断每个字符是否属于安全字符(字母、数字及部分符号),否则将其转换为对应的 `%XX` 百分比编码格式,最终拼接成完整的编码字符串。这个实现思路清晰直接,巧妙地避开了系统函数的限制,为需要直接处理原始二进制数据进行 URL 传输的场景提供了实用参考。

IT 累计浏览 2,199

java中文乱码解决之道(八)—–解决URL中文乱码问题

你是否在Java开发中,被URL传递中文参数时出现的“问号”乱码困扰过?这篇文章专门拆解这个棘手问题。作者指出,相比于表单提交,URL编码因涉及浏览器、操作系统和字符集等多种因素,情况更为复杂。核心解决思路是**主动控制编码**,避免浏览器“自由发挥”。 文章主要提供了两种实战方案。一是通过JavaScript前端编码,使用 `encodeURI` 等方法在请求发出前就对中文进行标准化处理,文章还详细对比了一次转码和二次转码在Java后台的解码方式差异。二是在服务端使用Filter过滤器,无论是直接设置请求编码格式,还是在过滤器中自动完成反编码并重新封装请求,都能有效拦截和处理乱码。每种方案都附有具体代码和配置示例,可直接复用。 无论你是正在排查此类问题,还是想从源头建立规范,文中这些经过验证的方法,能帮你一劳永逸地搞定URL中文乱码。

IT 累计浏览 1,750

AllowEncodedSlashes in Apache

这篇讲的是 Apache 服务器里一个容易让人困惑的 404 错误。当你在 URL 或 PATH_INFO 中使用百分比编码的斜杠(%2f)或反斜杠(%5c)时,Apache 默认会将其视为不合法的请求,直接返回 404,哪怕你后端的程序或框架能够处理这样的路径。 这种行为在需要传递编码字符的应用中,比如反向代理或某些 RESTful API 设计下,会成为一个典型的坑。文章的核心就是指出这个问题的根源:Apache 出于安全考虑,默认禁止了这类编码。而解决方法并不复杂——通过设置 `AllowEncodedSlashes` 指令,可以告诉 Apache 保留这些字符,而不是拦截请求。 对于经常与 Web 服务器配置打交道的开发者或运维人员来说,理解这个特定指令的行为至关重要。它揭示了在追求 URL 语义清晰和保持服务器默认安全策略之间的一种常见权衡,知道何时以及如何调整这个开关,能帮你避免不必要的调试时间。