以下代码行在J2SE和Android上有不同的输出:
System.out.println(new URL("http://stackoverflow.com/?"));
(我正在使用java.net.URL
。)
在J2SE上,输出将是
http://stackoverflow.com/?
在Android上
http://stackoverflow.com/
现在,我知道这在功能上是相似的,因为没有查询参数,但我很好奇为什么它有不同的行为。不幸的是,这破坏了服务器端代码(不是我的,但是我正在集成的第三方应用程序),它在PHP中使用strpos($_SERVER['REQUEST_URI'], '?') + 1);
来解析请求。