gpt4 book ai didi

java - 指定 URLConnection 响应的文档编码

转载 作者:太空宇宙 更新时间:2023-11-04 07:47:26 27 4
gpt4 key购买 nike

        URL url = new URL("http://google.com");
URLConnection connection = url.openConnection();

connection.connect();

System.out.println("conncetion successful.");

String contentType = connection.getContentType();
System.out.println(contentType);

内容类型为“text/html;字符集=EUC-KR”。 (在其他语言环境中可能有所不同)并且文档编码与 contentType 之一相同。

但是,当我使用网络浏览器(IE、Firefox、Opera 等)访问相同的 URL(“http://google.com”)时,它说这是一个 UTF-8 编码的页面。 (文档编码实际上是 UTF-8。)

我想获得UTF-8编码的URLConnection,但似乎没有API。我怎样才能做到这一点?

最佳答案

我自己找到了答案。

Google 不会检查请求中的 Accept-Charset 属性,而是检查 User-Agent。如果指定了用户代理并且众所周知(Opera、Mozila 等),Google 会以 UTF-8 发送响应。否则响应将为 EUC-KR(在其他环境中可能会有所不同)。

所以,这是一个答案:在连接之前添加此行。

connection.setRequestProperty("User-Agent", "Opera/9.80");

您可能更喜欢其他代理。 (mozila 等...)

关于java - 指定 URLConnection 响应的文档编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15059186/

27 4 0
文章推荐: java - Lucene 和 Google App Engine
文章推荐: javascript - 如何在 Bootstrap4 中为切换导航在一行中显示多个列表链接?
文章推荐: html - 为什么2个
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com