Extract Header from Byte Array

I have a JAVA byte array which basically contains an http GET request.   That's what's I'm stuck with.  The real GET request looks like below in code window.

I need to extract header information from the byte array as a name value pair.  For example, the first set of values would look like this:
name= Host
value=www.msnbc.msn.com

GET requests will vary so the routine needs to handle *any* GET request.  That is, the number of name value pairs will vary.

I need each name value pair back as strings so I can place each value into another class.

It would be great if there was a routine that could do this like, GetNameValuePair (byte[] greq)

Would anyone be willing to provide a routine that could do this?





Realistic GET request stored in a byte array
----------------------------------------------------
GET / HTTP/1.1
Host: www.msnbc.msn.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12\n

Open in new window

lcorAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
brunoguimaraesConnect With a Mentor Commented:
You could use a Properties object.
byte[] header = // your byte array
 
Properties prop = new Properties();
 
prop.load(new ByteArrayInputStream(header));
 
// then you can retrieve the values this way:
prop.get("Host"); // prints www.msnbc.msn.com
 
// and so on...

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.