Java.io.IOException:服务器返回HTTP响应代码:520为URL:

时间:2014-11-11 17:48:15

标签: java urlconnection http-response-codes

我有一些Java代码可以下载受标题错误困扰的url数据。有时它会起作用,大部分时间都会失败。有没有人遇到过这个:

 URLConnection urlConnection = url2search.openConnection();
 urlConnection.setRequestProperty("User-Agent","Mozilla/5.0 ( compatible ) ");
 urlConnection.setRequestProperty("Accept","*/*");
 urlConnection.setDoInput(true);
 urlConnection.setDoOutput(false);

 try{
      reader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
     }catch(Exception r)
     {}

现在它在读者行中始终失败:

java.io.IOException: Server returned HTTP response code: 520 for URL:
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)

我可以将网址复制到搜索栏中,但效果很好。到目前为止,我对这个主题的网络研究已证明毫无结果。有什么建议吗?

2 个答案:

答案 0 :(得分:0)

500到599之间的HTTP错误代码表示服务器出现故障。它可以位于请求文档的源服务器,也可以位于客户端和源服务器之间的代理服务器上。

任何HTTP规范都没有记录代码520本身,因此其具体含义尚不清楚。但是,如果该代码是由客户端和源服务器之间的CloudFlare反向代理生成的,那么它会发出代理与源服务器之间通用的,未指定的连接错误的信号。

任何方式,问题基本上都是客户的外部问题。可能有关于您的请求属性的某些内容会导致服务器链在您观察它时失败,但要调试它,您需要分析服务器日志和软件,或者对其行为进行反向工程。如果问题未与浏览器一起展示,那么您可以考虑捕获涉及浏览器的请求/响应,以查看它与涉及Java客户端的请求/响应的区别。

答案 1 :(得分:0)

尝试使用最新的用户代理字符串。

请看这里:https://www.whatismybrowser.com/guides/the-latest-user-agent