Java 服务器为GET请求返回了URL的HTTP响应代码:500

Java 服务器为GET请求返回了URL的HTTP响应代码:500,java,rest,hp-quality-center,Java,Rest,Hp Quality Center,我试图用一个过滤条件来查询ALM缺陷,但是我得到了下面的异常。当通过浏览器访问时,相同的URL工作正常 java.io.IOException: Server returned HTTP response code: 500 for URL: http://ealm11.mycomp.com:80/qcbin/rest/domains/TESTING/projects/2014/defects?query={owner['das' or 'john' or 'kim'];status[Assi

我试图用一个过滤条件来查询ALM缺陷,但是我得到了下面的异常。当通过浏览器访问时,相同的URL工作正常

java.io.IOException: Server returned HTTP response code: 500 for URL:
http://ealm11.mycomp.com:80/qcbin/rest/domains/TESTING/projects/2014/defects?query={owner['das'  or 'john' or 'kim'];status[Assigned]}&fields=id    at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at
sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:1491)
    at java.security.AccessController.doPrivileged(Native Method)   at
sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1485)
    at
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1139)
此外,如果URL在下面的某个参数值中没有“或”条件

http://ealm11.mycomp.com:80/qcbin/rest/domains/TESTING/projects/2014/defects?query={owner['das'];status[Assigned]}&fields=id

它正在工作,但当我引入“或”条件时,java抛出了上述错误。

来自
500
及以上的错误代码是服务器端的错误

这意味着你不能反对它

但事实上,我认为,这应该是一个
406错误请求
,您的请求格式不正确,服务器出现错误,引发异常

您确定
对此请求有效吗

更新 您可能需要(仅对查询部分为true)。浏览器正在自动编码,而不是java。

您是否尝试使用“%20”作为URL中的空格

http://ealm11.mycomp.com:80/qcbin/rest/domains/TESTING/projects/2014/defects?query={owner['das'%20or%20'john'%20or%20'kim'];status[Assigned]}&fields=id

是的,否则通过浏览器访问时会出错。如果将来自java的查询放在浏览器中,会有什么响应?现在您正在比较红苹果和绿苹果:)请参阅@Salandur,在Java中导致异常的URL在我的浏览器中运行良好。已尝试但未成功。是否可以发布完整的URL。这可能是URL中的其他内容。谢谢Alvin,你用%20替换空格并删除上面URL中的“'”是正确的。啊,我没有意识到“'”也是无效的URL字符。