Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 9e5d72a7
由
LN
编写于
2024-06-27 12:58:31 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
url特殊字符处理
1 个父辈
8f2e7a98
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
50 行增加
和
0 行删除
src/main/java/com/neotel/smfcore/common/utils/HttpHelper.java
src/main/java/com/neotel/smfcore/common/utils/HttpHelper.java
查看文件 @
9e5d72a
...
...
@@ -31,6 +31,7 @@ import java.io.*;
import
java.net.URI
;
import
java.net.URL
;
import
java.net.URLConnection
;
import
java.net.URLEncoder
;
import
java.util.*
;
import
java.util.Map.Entry
;
...
...
@@ -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
{
if
(
ObjectUtil
.
isEmpty
(
url
))
{
return
new
MicronResult
();
}
url
=
encodeURL
(
url
);
HttpGet
httpGet
=
new
HttpGet
(
url
);
httpGet
.
addHeader
(
"Content-Type"
,
"application/json;charset=utf-8"
);
// // 设置请求参数
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论