我有下面的字串,我正在嘗試將其格式化為 https://any_site/any_item_picture 以便能夠從任何特定服務器下載影像。
輸出=[“https://i5.walmartimages.com/asr/a4ae31fc-572f-45a3-9d2a-4bf311b27e5d_1.ce84f66fa446e24c989f7f43f0a2a665.jpeg?odnHeight=450&odnWidth=450&odnBg=ffffff”
從原始變數中,我下面的代碼將反斜杠和一些其他字符(如“[”)替換為 URL scape 代碼,我不需要這些字符。它還顯示一個錯誤:
W/System.err:java.net.MalformedURLException:無協議:[“https://i5.walmartimages.com/asr/a4ae3
代碼如下:
@Override
public void onResponse(String output) {
String backslash = output;
String imageurl = null;
try {
imageurl = URLEncoder.encode(output, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
運行代碼后的回應:
22-10-31 15:09:20.472 10428-10428/com.example.weatherapp D/回應:["https:\/\/i5.walmartimages.com\/asr\/a4ae31fc- 572f-45a3-9d2a-4bf311b27e5d_1.ce84f66fa446e24c989f7f43f0a2a665.jpeg?odnHeight=450&odnWidth=450&odnBg=ffffff
任何人都可以請指出正確的方向嗎?
謝謝
uj5u.com熱心網友回復:
您必須先提取 url,然后對其進行編碼。編碼不會改變你的字串。URL 編碼將字符轉換為可以通過網路傳輸的格式。
public static void main(String[] args) {
List<String> extractedUrls = extractUrls("output=[\"https://i5.walmartimages.com/asr/a4ae31fc-572f-45a3-9d2a-4bf311b27e5d_1.ce84f66fa446e24c989f7f43f0a2a665.jpeg?odnHeight=450&odnWidth=450&odnBg=ffffff\"");
for (String url : extractedUrls)
{
System.out.println("url " url);
try {
System.out.println("encodedUrl " URLEncoder.encode(url, "UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
public static List<String> extractUrls(String text)
{
List<String> containedUrls = new ArrayList<String>();
String urlRegex = "((https?|ftp|gopher|telnet|file):((//)|(\\\\)) [\\w\\d:#@%/;$()~_?\\ -=\\\\\\.&]*)";
Pattern pattern = Pattern.compile(urlRegex, Pattern.CASE_INSENSITIVE);
Matcher urlMatcher = pattern.matcher(text);
while (urlMatcher.find())
{
containedUrls.add(text.substring(urlMatcher.start(0),
urlMatcher.end(0)));
}
return containedUrls;
}
輸出:
網址 https://i5.walmartimages.com/asr/a4ae31fc-572f-45a3-9d2a-4bf311b27e5d_1.ce84f66fa446e24c989f7f43f0a2a665.jpeg?odnHeight=450&odnWidth=450&odnBg=ffffff
encodedUrl https://i5.walmartimages.com/asr/a4ae31fc-572f-45a3-9d2a-4bf311b27e5d_1.ce84f66fa446e24c989f7f43f0a2a665.jpeg?odnHeight=450&odng=4ff0&odnBWidth=4ff
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/527173.html
標籤:爪哇安卓网址编码反逃逸
