gpt4 book ai didi

java - 流式 URL 编码器

转载 作者:行者123 更新时间:2023-11-30 07:25:06 28 4
gpt4 key购买 nike

在我的 Java 应用程序中,我正在寻找 URLEncoder.encode(String s, String enc) 的流媒体版本.我想使用“application/x-www-form-urlencoded”内容类型流式传输大型 HTTP post 请求。这样的东西是否存在于图书馆或开源项目中?或者有什么简单的方法可以实现吗?

这是早期的尝试,但不正确,因为它不处理大于一个字节的 UTF 代码点:

// Incorrect attempt at creating a URLEncoder OutputStream
private class URLEncoderOutputStream extends FilterOutputStream
{
public URLEncoderOutputStream(OutputStream out)
{
super(out);
}

@Override
public void write(int b) throws IOException
{
String s = new String(new byte[] { (byte)b });
String enc = URLEncoder.encode(s, "UTF-8");
out.write(enc.getBytes("UTF-8"));
}
}

最佳答案

问题是 OutputStreams 对字符一无所知,只知道字节。你真正想要的是一个Writer,例如

public class URLEncodedWriter extends FilterWriter {
public void write(int c) {
out.write(URLEncoder.encode((char)c, "UTF-8"));
}
... // Same for 2 other write() methods
}

关于java - 流式 URL 编码器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11108410/

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