2014-11-11 6 views
0

제목에 오류가있는 URL 데이터를 다운로드하는 Java 코드가 있습니다. 때로는 작동하지만 대부분의 경우 실패합니다.Java.io.IOException : 서버에서 HTTP 응답 코드 : 520을 반환했습니다. 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) 

내가 검색 창에 URL을 복사하고 그것을 잘 작동합니다. 그리고 아직이 주제에 대한 웹 연구는 효과가없는 것으로 판명되었습니다. 어떤 제안?

답변

0

HTTP 오류 코드가 500과 599 사이 인 경우 서버 오류를 나타냅니다. 요청한 문서의 원본 서버 또는 클라이언트와 원본 서버 사이의 프록시 서버에있을 수 있습니다.

코드 520 자체는 HTTP 사양에 의해 문서화되지 않으므로 그 구체적인 의미는 분명하지 않습니다. 그러나 클라이언트와 원 서버 사이의 CloudFlare 역방향 프록시가 해당 코드를 생성하면 프록시와 원 서버 간의 일반적인 지정되지 않은 연결 오류가 발생합니다.

어쨌든 문제는 기본적으로 클라이언트 외부입니다. 서버 체인이 실패한 것으로 보이는 경향이있는 요청 속성에 대한 내용이있을 수 있지만 디버깅하려면 서버 로그와 소프트웨어를 분석하거나 동작을 리버스 엔지니어링해야합니다. . 문제가 브라우저와 함께 표시되지 않는 경우 브라우저와 관련된 요청/응답을 캡처하여 Java 클라이언트와 관련된 요청/응답과 다른 점을 확인할 수 있습니다.