Browse Source

cherry-pick fix create http request error #14793

3.1.9-release
Hunter 1 year ago committed by zhuangchong
parent
commit
06091193c7
  1. 15
      dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-http/src/main/java/org/apache/dolphinscheduler/plugin/alert/http/HttpSender.java

15
dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-http/src/main/java/org/apache/dolphinscheduler/plugin/alert/http/HttpSender.java

@ -34,10 +34,13 @@ import org.apache.http.util.EntityUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException; import java.net.MalformedURLException;
import java.net.URI; import java.net.URI;
import java.net.URISyntaxException; import java.net.URISyntaxException;
import java.net.URL; import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -104,13 +107,13 @@ public final class HttpSender {
} }
private void createHttpRequest(String msg) throws MalformedURLException, URISyntaxException { private void createHttpRequest(String msg) throws MalformedURLException, URISyntaxException {
if (REQUEST_TYPE_POST.equals(requestType)) { if (REQUEST_TYPE_POST.equalsIgnoreCase(requestType)) {
httpRequest = new HttpPost(url); httpRequest = new HttpPost(url);
setHeader(); setHeader();
//POST request add param in request body //POST request add param in request body
setMsgInRequestBody(msg); setMsgInRequestBody(msg);
} else if (REQUEST_TYPE_GET.equals(requestType)) { } else if (REQUEST_TYPE_GET.equalsIgnoreCase(requestType)) {
//GET request add param in url // GET request add param in url
setMsgInUrl(msg); setMsgInUrl(msg);
URL unencodeUrl = new URL(url); URL unencodeUrl = new URL(url);
URI uri = new URI(unencodeUrl.getProtocol(), unencodeUrl.getAuthority(), unencodeUrl.getPath(), URI uri = new URI(unencodeUrl.getProtocol(), unencodeUrl.getAuthority(), unencodeUrl.getPath(),
@ -132,7 +135,11 @@ public final class HttpSender {
if (!url.contains(URL_SPLICE_CHAR)) { if (!url.contains(URL_SPLICE_CHAR)) {
type = URL_SPLICE_CHAR; type = URL_SPLICE_CHAR;
} }
url = String.format("%s%s%s=%s", url, type, contentField, msg); try {
url = String.format("%s%s%s=%s", url, type, contentField, URLEncoder.encode(msg, DEFAULT_CHARSET));
} catch (UnsupportedEncodingException e) {
throw new RuntimeException(e);
}
} }
} }

Loading…
Cancel
Save