diff --git a/src/main/java/com/imyeyu/network/FormMap.java b/src/main/java/com/imyeyu/network/ArgMap.java similarity index 50% rename from src/main/java/com/imyeyu/network/FormMap.java rename to src/main/java/com/imyeyu/network/ArgMap.java index 6a45e9e..455c4a4 100644 --- a/src/main/java/com/imyeyu/network/FormMap.java +++ b/src/main/java/com/imyeyu/network/ArgMap.java @@ -1,5 +1,6 @@ package com.imyeyu.network; +import com.imyeyu.utils.Encoder; import org.apache.hc.client5.http.fluent.Form; import org.apache.hc.core5.http.NameValuePair; @@ -13,13 +14,27 @@ import java.util.Map; * @author 夜雨 * @since 2025-06-26 15:41 */ -public class FormMap extends HashMap { +public class ArgMap extends HashMap { - public List build() { + public List toNameValuePair() { Form form = Form.form(); for (Map.Entry item : entrySet()) { form.add(item.getKey().toString(), item.getValue().toString()); } return form.build(); } + + public String toURL() { + StringBuilder sb = new StringBuilder(); + for (Map.Entry item : entrySet()) { + sb.append(item.getKey().toString()).append('=').append(Encoder.urlArg(item.getValue().toString())); + sb.append('&'); + } + sb.deleteCharAt(sb.length() - 1); + return sb.toString(); + } + + public String toURL(String url) { + return url + "?" + toURL(); + } }