gpt4 book ai didi

java - 在 Java 中通过 HTTP Post 发送多行字符串

转载 作者:可可西里 更新时间:2023-11-01 16:39:21 26 4
gpt4 key购买 nike

我想使用 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,因此不允许使用外部库。

最佳答案

// ...
conn.setRequestProperty( "Content-Type", "application/x-www-form-urlencoded" ); // not sure it is important
// ...
writer.write(URLEncoder.encode(data, "UTF-8")); // urlencode the whole string and do not edit it
// ...

关于java - 在 Java 中通过 HTTP Post 发送多行字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7137078/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com