1

I have a web application that read HTML pages using the following command

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

then my web application will redisplay the HTML page again with some modification It works fine and it reads any HTML page that I give to it. However, some pages were not accepted by my program. So the application gave me the following error type Exception report

message

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)

Why it works fine with some pages and with some it gives me this error? Is it a problem with my application or with Tomcat?

thanks,

Bachayer
  • 37
  • 2
  • 7
  • This can have many causes. Maybe the external pages reject your requests... always the same URLs causing the error? – home Aug 11 '11 at 08:54

1 Answers1

0

It could just be a slow website - and so you need to increase any timeouts.

Or perhaps it's to prevent denial of service attacks.
What headers are you sending with your request? You need to make sure your request headers looks as close to a real browser request as possible. E.g. you need to send your browser type, the return types you accept, etc, etc.

cs94njw
  • 535
  • 5
  • 12
  • Hi there, thanks a lot for reply! but I do not understand what do you mean by request header? can you please tell me how to send browser type! – Bachayer Aug 18 '11 at 20:56