Commit 9e5d72a7 LN

url特殊字符处理

1 个父辈 8f2e7a98
...@@ -31,6 +31,7 @@ import java.io.*; ...@@ -31,6 +31,7 @@ import java.io.*;
import java.net.URI; import java.net.URI;
import java.net.URL; import java.net.URL;
import java.net.URLConnection; import java.net.URLConnection;
import java.net.URLEncoder;
import java.util.*; import java.util.*;
import java.util.Map.Entry; import java.util.Map.Entry;
...@@ -265,11 +266,60 @@ public class HttpHelper { ...@@ -265,11 +266,60 @@ public class HttpHelper {
} }
} }
public static String encodeURL(String url) {
try {
// 分割URL,获取参数部分
String[] parts = url.split("\\?");
String baseUrl = parts[0]; // URL的基本部分
String query = ""; // 查询参数部分
if (parts.length > 1) {
query = parts[1];
}
// 对查询参数部分进行编码处理
String encodedQuery = "";
if (!query.isEmpty()) {
String[] queryParams = query.split("&");
StringBuilder encodedQueryParams = new StringBuilder();
for (String param : queryParams) {
String[] paramParts = param.split("=");
String key = paramParts[0];
String value = "";
if (paramParts.length > 1) {
value = paramParts[1];
}
// 对键和值进行编码处理
String encodedKey = URLEncoder.encode(key, "UTF-8");
String encodedValue = URLEncoder.encode(value, "UTF-8");
encodedQueryParams.append(encodedKey).append("=").append(encodedValue).append("&");
}
// 删除末尾的"&"字符
encodedQuery = encodedQueryParams.substring(0, encodedQueryParams.length() - 1);
}
// 重新构建编码后的URL
String encodedURL = baseUrl + (encodedQuery.isEmpty() ? "" : "?" + encodedQuery);
return encodedURL;
} catch (Exception e) {
log.error("出错:"+e.toString());
e.printStackTrace();
}
return url; // 如果编码失败,则返回原始的URL
}
public static MicronResult getMicronJson(String url) throws ApiException { public static MicronResult getMicronJson(String url) throws ApiException {
if (ObjectUtil.isEmpty(url)) { if (ObjectUtil.isEmpty(url)) {
return new MicronResult(); return new MicronResult();
} }
url=encodeURL(url);
HttpGet httpGet = new HttpGet(url); HttpGet httpGet = new HttpGet(url);
httpGet.addHeader("Content-Type", "application/json;charset=utf-8"); httpGet.addHeader("Content-Type", "application/json;charset=utf-8");
// // 设置请求参数 // // 设置请求参数
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!