gpt4 book ai didi

java - 无法以正确的编码从url读取js文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:33:28 25 4
gpt4 key购买 nike

我想从 url https://d3c3cq33003psk.cloudfront.net/opentag-67008-473432.js 读取 js 文件作为字符串

我尝试了几种方法(从 url 读取或下载然后读取),但我一直收到无法读取的字符,例如 ��(��_��s����d������:`�� ..........我......
我尝试过的方法:
1. 从 url 下载文件:

FileUtils.copyURLToFile(jsUrl, file);

2。从网址读取:

    StringBuilder sb = new StringBuilder();
try {
URL url = new URL(jsUrl);
// read text returned by server
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"));
String line;
while ((line = in.readLine()) != null) {
sb.append(line).append("\n");
}
in.close();
} catch (Exception e) {
}
return sb.toString();

如果我从 url 手动下载文件(页面 -> 另存为...) - 它可以用普通 UTF-8 编码的 Notepad++ 打开。
谁能帮我处理这个奇怪的文件?

最佳答案

它是 GZIP 压缩的。使用 GZIPInputStream

更新

        InputStream stream = url.openStream();
if ("gzip".equalsIgnoreCase(cnt.getHeaderField("Content-Encoding"))) {
stream = new GZIPInputStream(stream);
}
BufferedReader in = new BufferedReader(new InputStreamReader(stream, "UTF-8"));

更新 2

使用 URLConnection:

        URLConnection cnt = url.openConnection();
InputStream stream = cnt.getInputStream();
if ("gzip".equalsIgnoreCase(cnt.getHeaderField("Content-Encoding"))) {
stream = new GZIPInputStream(stream);
}
BufferedReader read = new BufferedReader(new InputStreamReader(stream, "UTF-8"));

关于java - 无法以正确的编码从url读取js文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48643365/

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