2011-08-11 17 views
1

が、私はその後、私のWebアプリケーションは、いくつかの変更で再びHTMLページを再表示されます、次のコマンドてSocketTimeoutException:読み取り

Document doc = Jsoup.connect(url).post(); 

を使用して それが正常に動作するHTMLページを読んで、Webアプリケーションを持っており、それは任意のHTMLを読み込んでタイムアウトになりました私がそれに与えるページ。しかし、一部のページは私のプログラムで受け入れられませんでした。それは一部のページで正常に動作し、いくつかと、それは私にこのエラーが発生しますなぜ、アプリケーションは私に

メッセージ

description The server encountered an internal error() that prevented it from fulfilling this request. 

exception 

org.apache.jasper.JasperException: java.net.SocketTimeoutException: Read timed out 
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:404) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 


root cause 

java.net.SocketTimeoutException: Read timed out 
    java.net.SocketInputStream.socketRead0(Native Method) 
    java.net.SocketInputStream.read(SocketInputStream.java:129) 
    java.io.BufferedInputStream.fill(BufferedInputStream.java:218) 
    java.io.BufferedInputStream.read1(BufferedInputStream.java:258) 
    java.io.BufferedInputStream.read(BufferedInputStream.java:317) 
    sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687) 
    sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632) 
    sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1195) 
    java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:379) 
    org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:381) 
    org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:364) 
    org.jsoup.helper.HttpConnection.execute(HttpConnection.java:143) 
    org.jsoup.helper.HttpConnection.post(HttpConnection.java:138) 
    org.apache.jsp.ModelsForAllE_jsp._jspService(ModelsForAllE_jsp.java:105) 
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 

を次のエラー Exception型のレポートを与えましたか? 私のアプリケーションやTomcatに問題はありますか?

おかげで、

+0

これは多くの原因が考えられます。たぶん、外部ページはあなたの要求を拒否します...常にエラーの原因となっているURLは同じですか? – home

答えて

0

それはちょうど遅いウェブサイトかもしれない - ので、あなたは、任意のタイムアウトを増やす必要があります。

おそらく、サービス拒否攻撃を防ぐためです。
リクエストにはどのようなヘッダーを送信していますか?リクエストヘッダーが実際のブラウザ要求にできるだけ近いかどうかを確認する必要があります。例えば。お使いのブラウザの種類、受け入れる返品の種類などを送付する必要があります。

+0

こんにちは、返信いただきありがとうございます!リクエストヘッダーの意味は分かりません。ブラウザの種類を送信する方法を教えてください! – Bachayer

関連する問題