gpt4 book ai didi

java - HtmlUnit 编码异常

转载 作者:行者123 更新时间:2023-12-01 04:22:54 26 4
gpt4 key购买 nike

我尝试使用 HtmlUnit(版本 2.12)登录我的大学网站,但遇到与网站编码相关的问题

代码:

    try {
WebClient webClient = new WebClient(BrowserVersion.INTERNET_EXPLORER_9);
WebClientOptions options = webClient.getOptions();
options.setCssEnabled(false);
options.setThrowExceptionOnScriptError(false);
options.setThrowExceptionOnFailingStatusCode(false);
options.setRedirectEnabled(true);
options.setJavaScriptEnabled(true);
HtmlPage page = (HtmlPage) webClient.getPage("http://www.oid.hacettepe.edu.tr/cgi-bin/menuindex.cgi");

} catch (IOException ex) {
Logger.getLogger(AnaSayfa.class.getName()).log(Level.SEVERE, null, ex);
} catch (FailingHttpStatusCodeException ex) {
Logger.getLogger(AnaSayfa.class.getName()).log(Level.SEVERE, null, ex);
}

异常:

java.io.UnsupportedEncodingException: İSO-8859-9

我还尝试使用以下代码更改字符集:

WebRequest webRequest = new WebRequest(new URL("http://www.oid.hacettepe.edu.tr/cgi-bin/menuindex.cgi"));
webRequest.setCharset("utf-8");
HtmlPage page = (HtmlPage) webClient.getPage(webRequest);

但我的问题仍然存在:(请提供解决方案的任何建议

最佳答案

我以前从未遇到过此类问题。然而,你的代码对我来说工作得很好(他们俩)。这是我得到的输出:

<?xml version="1.0" encoding="ISO-8859-9"?>
<html>
<head>
<title>
HU OIDB
</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9"/>
<link rel="shortcut icon" href="http://www.oid.hacettepe.edu.tr/oidb.ico"/>
</head>
...
</html>

顺便说一句,您是否注意到您的输出中有一个奇怪的 і 字符?

java.io.UnsupportedEncodingException: İSO-8859-9

基于我可以运行它而你不能运行的事实,我假设它可能是某些操作系统的默认值。当然,应该和编码有关。

您应该尝试更改 JVM 默认字符集。您可以使用 JAVA_TOOL_OPTIONS 来做到这一点或在运行应用程序时通过命令行:

java -Dfile.encoding=UTF-8 -jar YourApp.jar

关于java - HtmlUnit 编码异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18767870/

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