我想发送发布请求到一些使用Java的服务。请求必须包含一些参数,其中一个是多行String。我尝试了很多方法,但每次我最终都会将整行文本作为单行提交,而没有换行符。有任何想法吗?通过HTTP发送多行字符串发布在Java中
URL url = new URL("http://example.com/create");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
String data = "param1=value&string=" + convertNewLineCharacters(text);
writer.write(data);
writer.flush();
// (...)
private String convertNewLineCharacters(String text) throws Exception {
String encodedString = URLEncoder.encode(text, "UTF-8");
encodedString = encodedString.replaceAll("%0A", "\r\n");
return encodedString;
}
我仅限于标准Java Api,因此不允许使用外部库。
这一个不工作。我早些时候测试过它。 –
也许错误是在接收表单的应用程序的另一边。你会告诉我们这个代码吗? – aalku
这不是我的web应用程序,所以源代码不可用:) url:[link](http://pastie.org/pastes/new)。我甚至尝试用Firefox插件发布请求,但我仍然得到单线。 –