我查了505响应代码,发现它是“Web服务器(运行网站)不支持或拒绝支持客户端指定的HTTP协议版本”
我尝试在网络服务器上访问的网站是https://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.quote where symbol %3D"msft"&diagnostics=true&env=store
我能够访问该网站并看到它提供了xml数据。但是,当我尝试使用该站点创建HttpsURlConnection时,我得到了505响应代码,这样做的代码是
URL url = new URL(params[0]);
URLConnection connection = url.openConnection();
HttpsURLConnection httpConnect = (HttpsURLConnection) connection;
int responseCode = httpConnect.getResponseCode();
我在运行时检查了params [0]的值,发现它中有正确的url。有谁知道我如何解决这个问题? Web服务器应支持https,因为该链接有效。我不明白为什么会出现505错误。
答案 0 :(得分:2)
java.net.URL
将允许您使用空格创建无效的网址,从而导致此错误。查询参数中的空格应编码为+
,因此请创建您的网址:
https://query.yahooapis.com/v1/public/yql?q=select+*+from+yahoo+finance.quote+where+symbol+%3D"msft"&diagnostics=true&env=store
此请求仍然不正确,将导致400(“期望表获得'财务'”)。从这些问题:
我相信你想要:
https://query.yahooapis.com/v1/public/yql?q=select+*+from+yahoo.finance.quote+where+symbol+%3D"msft"&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys
答案 1 :(得分:-1)
我想我遇到了问题。我在网上看了看,其他人遇到了问题,而且这是网址内的空间。我不知道如何解决这个问题