【发布时间】:2011-03-24 06:44:07
【问题描述】:
我正在使用以下代码在默认浏览器中显示 NSE 索引。
String downloadURL = "http://in.finance.yahoo.com/q;_ylt=AkieA" +
"_4_rXXRBh2SH7_U3kXyULlG;_ylu=X3oDMTE1Nmc5cjBnBHBvcwMyBHNlY" +
"wNmb290ZXIteWZpbmFuY2UEc2xrA25pZnR5NTA-?s=^NSEI";
java.awt.Desktop myNewBrowserDesktop = java.awt.Desktop.getDesktop();
java.net.URI myNewLocation = new java.net.URI(downloadURL);
myNewBrowserDesktop.browse(myNewLocation);
提及的网址是从雅虎网站本身复制的。但是,当我运行代码时,出现如下错误:
java.net.URISyntaxException: 非法 索引 140 处查询中的字符: http://in.finance.yahoo.com/q;_ylt=AkieA_4_rXXRBh2SH7_U3kXyULlG;_ylu=X3oDMTE1Nmc5cjBnBHBvcwMyBHNlYwNmb290ZXIteWZpbmFuY2UEc2xrA25pZnR5NTA-?s=^NSEI
我不知道出了什么问题;我已经成功地对其他 URL 做了同样的事情。请帮忙。
【问题讨论】:
-
我将 URL 更改为 in.finance.yahoo.com/q?s=^NSEI 。尽管如此,它仍然显示错误。所以,我从查询中删除了 ^。它有效,但我没有得到我想要的页面。在 java 中的 URL 中不允许使用 ^
-
一般解决方案请查看stackoverflow.com/questions/749709/…
-
对于更通用的解决方案,请查看stackoverflow.com/a/20874602/205607 ;-)
标签: java