gpt4 book ai didi

java - URL编码异常

转载 作者:行者123 更新时间:2023-12-01 13:42:06 24 4
gpt4 key购买 nike

我正在尝试使用 UTF-8 对 URL 进行编码,然后启动浏览器。下面是我的代码

if(URLUtil.isValidUrl(url)){
//if(Patterns.WEB_URL.matcher(url).matches()) {

url = URLEncoder.encode(url,"UTF-8");
Intent launchUrl = new Intent(Intent.ACTION_VIEW, Uri.parse(url));

System.out.println("encoded new url is "+url);

System.out.println(" launurl is "+launchUrl);

mContext.startActivity(launchUrl);
}

我收到异常“找不到 Activity ”。当我删除/注释编码行时,它对我来说工作正常。模式匹配也不起作用。

请帮忙,下面是输出

编码后的新网址为http%3A%2F%2Fwww.google.com%2F%23output%3Dsearch%26amp%3Bq%3Dnexus

launurl 是 Intent { act=android.intent.action.VIEW dat=http://www.google.com/#output=search&q=nexus

输入网址为http://www.google.com/#output=search&q=nexus

最佳答案

您应该对参数值进行编码,然后将其附加到 url 中,而不是使用参数对整个 url 进行编码:

String str_url= "http://www.google.com/";

String str_parms="#output="+URLEncoder.encode("search","UTF-8")+
"&q="+URLEncoder.encode("nexus","UTF-8");

String str_final_url=str_url+str_parms;

关于java - URL编码异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20653668/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com