2

我收到此错误:

java.net.MalformedURLException: Protocol not found[java.lang.StringBuilder] 

当以下行被执行时:

url = new URL(urlString.toString());

urlString 存储以下值:

http://maps.google.com/maps?f=d&hl=en&saddr=25.04202,121.534761&daddr=25.05202,121.554761&ie=UTF8&0&om=0&output=kml

是什么导致了这个异常?

4

4 回答 4

6

可能是你换了之后没有清理

url = new URL( urlString );

url = new URL(urlString.toString());

您应该记录传递给 URL 构造函数的参数值。这不是你认为应该的。

urlString 将以 java.lang.StringBuilder@ 的形式打印一个值,因此如果您尝试从中构建一个 url,则会引发异常。

但是使用 to String 将打印由 stringbuilder 构建的内容字符串的值。

于 2012-02-23T07:23:05.910 回答
3

这是一个异常处理的例子......

String urlString = "https://www.example.com/";
URL url = null;

// handle Exception
try {
    url = new URL(urlString);
} catch (MalformedURLException e) {
    System.out.println("The URL is not valid.");
    System.out.println(e.getMessage());
}

// print
if (url != null) {
    System.out.println(url.toString());
}
于 2015-02-16T15:30:19.407 回答
0

如果您的网络防火墙阻止该 URL,您也可以得到此异常。

于 2012-08-31T10:45:49.947 回答
0

用放置在服务器 instedof html 上的 php 文件地址替换 url

于 2013-09-27T09:36:43.687 回答