我使用 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 的查询字符串部分从请求中移到正文中。
我是一名优秀的程序员,十分优秀!