我想從數組轉換爲URL的get-parameters。 我知道apache的HTTPClient,但是它對於applet來說太大了。小程序有簡單的網址生成器嗎?
有沒有簡單的解決方案?
我在我的小程序中有一個List(或數組),我想寫HttpRequest的URL參數。 ParameterFormatter很好,但jar文件對於applet太大了。
編輯: 我發現有Java Optimizer/Shrinker/Reducer工具可以讓你優化jar。例如,proguard
我想從數組轉換爲URL的get-parameters。 我知道apache的HTTPClient,但是它對於applet來說太大了。小程序有簡單的網址生成器嗎?
有沒有簡單的解決方案?
我在我的小程序中有一個List(或數組),我想寫HttpRequest的URL參數。 ParameterFormatter很好,但jar文件對於applet太大了。
編輯: 我發現有Java Optimizer/Shrinker/Reducer工具可以讓你優化jar。例如,proguard
您可以簡單地自己開發一個,因爲您只需將它們連接在一起即可組成query string。我做你想要什麼樣的一些假設(如每個變量的關鍵與var
開始),但這裏有雲:
public String buildUrl(String baseUrl, String[] getVars) {
String url = baseUrl + "?";
// Builds: http://mydomain.com/app?
for (int i = 0; i < getVars.length; i++) {
url += "var" + i + "=" + getVars[i];
// Builds the query string, ...app?var1=lol
if (i < getVars.length - 1) {
url += "&";
// Adds the & after each var except for the last one
// ...app?var1=lol&
}
// repeat for each var until done
// ... app?var1=lol&var2=cat
}
return url;
}
當然也有其他的天真實現和優化,你可以做的代碼。也可能有一些Java類已經這樣做了,但似乎你必須build it on your own或使用Apache Commons第三方庫(我知道你不能)。
哦!謝謝!我認爲還有其他的解決方案。 – KenichiYamamoto
Btw。不要忘記用'java.net.URLEncoder.encode(...)'封裝這些值,以修復值中包含可能破壞URL或查詢字符串的字符的情況。我讓解決方案成爲讀者的練習(因爲它需要異常處理)。 – Spoike
請多解釋一下,或舉一個你想達到的例子。謝謝:) –
我想要這樣的org.apache.commons.httpclient.util.ParameterFormatter.format()。但jar文件對於applet來說太大了。 – KenichiYamamoto