Read from InputStream in multiple formats

前端 未结 3 1355
情话喂你
情话喂你 2021-01-12 18:31

I\'m trying to write a class that reads HTTP requests and responses and parses them. Since the headers are ordinary text it seemed easiest to read them using a Buffe

相关标签:
3条回答
  • 2021-01-12 19:10

    There is already a class in Java for handling HTTP requests and responses. You should use that instead of trying to parse the response on your own. Parsing HTTP response is more difficult than you think as there are different encoding methods that you have to deal with. It isn't really raw binary data in the response payload. The HttpURLConnection class will parse headers for you and give you InputStream for the payload.

    http://download.oracle.com/javase/1.4.2/docs/api/java/net/HttpURLConnection.html

    0 讨论(0)
  • 2021-01-12 19:26

    commons-httpclient might save you a heap of work here.

    0 讨论(0)
  • 2021-01-12 19:35

    If you don't want to use a ready HTTP client/server implementation like Konstantin proposed, DataInputStream has a readLine method. It is deprecated since it isn't doing a proper conversion (mostly a direct byte -> char casting conversion), but I think for pure ASCII header lines you should be good.

    (You should put a BufferedInputStream under you DataInputStream, since readLine reads each byte individually.)

    0 讨论(0)
提交回复
热议问题