我使用HTTPUrlConnection来请求REST API 我用“Content-type”标题如下:
urlConnection.setRequestProperty("Content-type",
"application/x-www-form-urlencoded");
我按如下方式设置HTTP正文:
out = urlConnection.getOutputStream();
out.write(postParameters.getBytes("UTF-8"));
当我设置HTTP标头和正文时,我不知道是否需要转义post参数(这是一个String),如上所示。
我只需要“是”或“否”作为答案,但如果答案解释为什么是“是”或“为什么不”,那将会很棒。
答案 0 :(得分:5)
由于您要发布的数据将被解释为application/x-www-form-urlencoded
,因此必须具有以下格式:
name1=value1&name2=value2&...
因此,“值”部分必须进行URL编码,否则将无法正确解释。
将POST与x-www-form-urlencoded
一起使用只是将URL的查询字符串部分移出请求并进入正文。