java - 我是否需要转义作为后置参数的字符串以传递到 HTTP 正文中?

标签 java android escaping httpurlconnection post-parameter

我使用 HTTPUrlConnection 请求 REST API。
我按如下方式设置“Content-type” header :

urlConnection.setRequestProperty("Content-type",
                        "application/x-www-form-urlencoded");

我将 HTTP 正文设置如下:

out = urlConnection.getOutputStream();
out.write(postParameters.getBytes("UTF-8"));

当我设置 HTTP header 和 body 时,我不知道是否需要转义 post 参数(这是一个字符串),如上所示。

我只需要是或否作为答案,但如果答案能解释为什么是或为什么不是,那就太好了。

最佳答案

由于您要发布的数据将被解释为 application/x-www-form-urlencoded,因此它必须具有以下形式:

name1=value1&name2=value2&...

因此,“值”部分必须进行 URL 编码,否则将无法正确解释。

将 POST 与 x-www-form-urlencoded 结合使用只是将 URL 的查询字符串部分从请求中移到正文中。

关于java - 我是否需要转义作为后置参数的字符串以传递到 HTTP 正文中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17274956/

相关文章:

java - dependentOnGroups 顺序-Testng

java - Google Play 游戏服务 BaseGameUtils 中没有 getApiClient()

android - Android-导出均衡的音频文件

bash - 如何使用 awk 在 makefile 中按数字打印列?

python - 如何转义在串行术语中接收和转义的西里尔字母代码

java - 在JTable中,我通过extendind AbstractTableModel创建自定义表模型并使用它,只出现默认列名(A,B,C,D,..)

java - JFrame如何检测去图标化是否完成

android - 如何从 Eclipse 中用户创建的设备定义创建 AVD?

html - 在 Orbeon Xforms 中按两次转义字符时如何处理重置行为

java - 根据 Jtextfield 输入从 Jtable 中选择一行