[HtmlUnit] SVN: [15459] trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/ WebClient.java
rbri--- via HtmlUnit-develop <[email protected]> Sat, 14 Jul 2018 09:47:35 +0000
| Newsgroups | gmane.comp.java.htmlunit.devel |
|---|---|
| Message-ID | <[email protected]> |
Revision: 15459
http://sourceforge.net/p/htmlunit/code/15459
Author: rbri
Date: 2018-07-14 09:47:32 +0000 (Sat, 14 Jul 2018)
Log Message:
-----------
url encoding has to use UTF-8 as codepage
Modified Paths:
--------------
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/WebClient.java
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/WebClient.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/WebClient.java 2018-07-13 16:24:00 UTC (rev 15458)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/WebClient.java 2018-07-14 09:47:32 UTC (rev 15459)
@@ -36,6 +36,7 @@
import java.net.URLConnection;
import java.net.URLDecoder;
import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Collections;
@@ -460,8 +461,10 @@
*/
@SuppressWarnings("unchecked")
public <P extends Page> P getPage(final URL url) throws IOException, FailingHttpStatusCodeException {
- return (P) getPage(getCurrentWindow().getTopWindow(),
- new WebRequest(url, getBrowserVersion().getHtmlAcceptHeader()));
+ final WebRequest request = new WebRequest(url, getBrowserVersion().getHtmlAcceptHeader());
+ request.setCharset(StandardCharsets.UTF_8);
+
+ return (P) getPage(getCurrentWindow().getTopWindow(), request);
}
/**
@@ -881,6 +884,8 @@
if (url != null) {
try {
final WebRequest request = new WebRequest(url, getBrowserVersion().getHtmlAcceptHeader());
+ request.setCharset(StandardCharsets.UTF_8);
+
if (getBrowserVersion().hasFeature(DIALOGWINDOW_REFERER)
&& openerPage != null) {
final String referer = openerPage.getUrl().toExternalForm();
@@ -1011,6 +1016,8 @@
final HtmlPage openerPage = (HtmlPage) opener.getEnclosedPage();
final WebRequest request = new WebRequest(url, getBrowserVersion().getHtmlAcceptHeader());
+ request.setCharset(StandardCharsets.UTF_8);
+
if (getBrowserVersion().hasFeature(DIALOGWINDOW_REFERER) && openerPage != null) {
final String referer = openerPage.getUrl().toExternalForm();
request.setAdditionalHeader(HttpHeader.REFERER, referer);
@@ -1444,6 +1451,8 @@
|| status == HttpStatus.SC_MOVED_TEMPORARILY
|| status == HttpStatus.SC_SEE_OTHER) {
final WebRequest wrs = new WebRequest(newUrl, HttpMethod.GET);
+ wrs.setCharset(webRequest.getCharset());
+
if (HttpMethod.HEAD == webRequest.getHttpMethod()) {
wrs.setHttpMethod(HttpMethod.HEAD);
}
@@ -1455,6 +1464,8 @@
else if (status == HttpStatus.SC_TEMPORARY_REDIRECT
|| status == 308) {
final WebRequest wrs = new WebRequest(newUrl, webRequest.getHttpMethod());
+ wrs.setCharset(webRequest.getCharset());
+
wrs.setRequestParameters(parameters);
for (final Map.Entry<String, String> entry : webRequest.getAdditionalHeaders().entrySet()) {
wrs.setAdditionalHeader(entry.getKey(), entry.getValue());
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot