android-HttpURLConnection上的URL字符串

android-HttpURLConnection上的URL字符串,第1张

概述考虑使用以下android应用程序代码;privateStringGetDistance(Stringsrc,Stringdest){StringBuilderurlString=newStringBuilder();urlString.append("http://maps.googleapis.com/maps/api/distancematrix/json?");urlString.append("orig

考虑使用以下android应用程序代码;

private String Getdistance(String src, String dest) {         StringBuilder urlString = new StringBuilder();    urlString.append("http://maps.GoogleAPIs.com/maps/API/distancematrix/Json?");    urlString.append("origins=");   // **"ÇANKIRI,ÇERKEŞ,TURKEY"**    urlString.append(src);    urlString.append("&destinations="); // **"ANKara,ALTINDAĞ,TURKEY"**    urlString.append(dest);    urlString.append("&mode=driving&sensor=false");    Log.d("xxx","URL="+urlString.toString());    // get the JsON And parse it to get the directions data.   httpURLConnection urlConnection= null;   URL url = null;   //String urlStr = URLEncoder.encode(urlString.toString(), "utf-8");   //url = new URL(urlStr);   url = new URL(urlString.toString());   ......

如果src和dest字符串具有Unicode字符,则Google距离矩阵服务将失败(状态返回为NOT_FOUND).但是,如果我在网络浏览器中使用Google地图站点中的字符串,它将返回良好的结果.我也尝试使用URLEncoder,但是我也失败了.

你有什么建议吗?

解决方法:

您应该使用URLEncoder.encode,

urlString.append(URLEncoder.encode(dest, "utf-8"));

编辑:别忘了您应该仅将其用于参数,而不是整个url.

总结

以上是内存溢出为你收集整理的android-HttpURLConnection上的URL字符串全部内容,希望文章能够帮你解决android-HttpURLConnection上的URL字符串所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1072374.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存