From: <rb...@us...> - 2018-07-15 07:52:21
|
Revision: 15462 http://sourceforge.net/p/htmlunit/code/15462 Author: rbri Date: 2018-07-15 07:52:16 +0000 (Sun, 15 Jul 2018) Log Message: ----------- be consistent and use the submit charset at all places Modified Paths: -------------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlForm.java Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlForm.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlForm.java 2018-07-14 11:57:57 UTC (rev 15461) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlForm.java 2018-07-15 07:52:16 UTC (rev 15462) @@ -249,13 +249,14 @@ final BrowserVersion browser = getPage().getWebClient().getBrowserVersion(); String actionUrl = getActionAttribute(); String anchor = null; - String queryFromFields = ""; + String queryFormFields = ""; + final Charset enc = getSubmitCharset(); + if (HttpMethod.GET == method) { if (actionUrl.contains("#")) { anchor = StringUtils.substringAfter(actionUrl, "#"); } - final Charset enc = getPage().getCharset(); - queryFromFields = + queryFormFields = URLEncodedUtils.format(Arrays.asList(NameValuePair.toHttpClient(parameters)), enc); // action may already contain some query parameters: they have to be removed @@ -263,6 +264,7 @@ actionUrl = StringUtils.substringBefore(actionUrl, "?"); parameters.clear(); // parameters have been added to query } + URL url; try { if (actionUrl.isEmpty()) { @@ -272,8 +274,8 @@ url = htmlPage.getFullyQualifiedUrl(actionUrl); } - if (!queryFromFields.isEmpty()) { - url = UrlUtils.getUrlWithNewQuery(url, queryFromFields); + if (!queryFormFields.isEmpty()) { + url = UrlUtils.getUrlWithNewQuery(url, queryFormFields); } if (HttpMethod.GET == method && browser.hasFeature(FORM_SUBMISSION_URL_WITHOUT_HASH) @@ -302,7 +304,7 @@ if (HttpMethod.POST == method) { request.setEncodingType(FormEncodingType.getInstance(getEnctypeAttribute())); } - request.setCharset(getSubmitCharset()); + request.setCharset(enc); String referer = htmlPage.getUrl().toExternalForm(); request.setAdditionalHeader(HttpHeader.REFERER, referer); |