This commit is contained in:
Looly 2021-09-10 21:17:41 +08:00
parent 783a02cce4
commit f08ae8cf7d
2 changed files with 30 additions and 11 deletions

View File

@ -174,6 +174,7 @@ public class URLEncoder implements Serializable {
encoder.addSafeCharacter('-');
encoder.addSafeCharacter('.');
encoder.addSafeCharacter('_');
encoder.addSafeCharacter('=');
encoder.addSafeCharacter('&');
@ -216,21 +217,14 @@ public class URLEncoder implements Serializable {
/**
* 构造<br>
* <p>
* [a-zA-Z0-9]默认不被编码
*/
public URLEncoder() {
this(new BitSet(256));
for (char i = 'a'; i <= 'z'; i++) {
addSafeCharacter(i);
}
for (char i = 'A'; i <= 'Z'; i++) {
addSafeCharacter(i);
}
for (char i = '0'; i <= '9'; i++) {
addSafeCharacter(i);
}
// unreserved
addAlpha();
addDigit();
}
/**
@ -312,4 +306,27 @@ public class URLEncoder implements Serializable {
}
return rewrittenPath.toString();
}
/**
* 增加安全字符[a-z][A-Z]
*/
private void addAlpha() {
for (char i = 'a'; i <= 'z'; i++) {
addSafeCharacter(i);
}
for (char i = 'A'; i <= 'Z'; i++) {
addSafeCharacter(i);
}
}
/**
* 增加数字1-9
*/
private void addDigit() {
for (char i = '0'; i <= '9'; i++) {
addSafeCharacter(i);
}
}
}

View File

@ -156,7 +156,9 @@ public final class UrlBuilder implements Serializable {
* @return UrlBuilder
*/
public static UrlBuilder of(String scheme, String host, int port, String path, String query, String fragment, Charset charset) {
return of(scheme, host, port, UrlPath.of(path, charset), UrlQuery.of(query, charset, false), fragment, charset);
return of(scheme, host, port,
UrlPath.of(path, charset),
UrlQuery.of(query, charset, false), fragment, charset);
}
/**