HttpParams params = new BasicHttpParams(); HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1); HttpProtocolParams.setContentCharset(params, "utf-8"); SchemeRegistry registry = new SchemeRegistry(); registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80)); ThreadSafeClientConnManager manager = new ThreadSafeClientConnManager(params, registry); DefaultHttpClient client = new DefaultHttpClient(manager, params); client.getCredentialsProvider().setCredentials(new AuthScope("stream.twitter.com", 80), new UsernamePasswordCredentials("username", "password")); HttpGet get = new HttpGet("http://stream.twitter.com/spritzer.xml"); try { HttpResponse resp = client.execute(get); int statusCode = resp.getStatusLine().getStatusCode(); if (statusCode == 200) { InputStream stream = resp.getEntity().getContent(); XmlPullParserFactory factory; factory = XmlPullParserFactory.newInstance(); XmlPullParser parser = factory.newPullParser(); parser.setInput(stream, "utf-8"); while (true) { int event = parser.next(); if (event == XmlPullParser.START_TAG) { String name = parser.getName(); if (name.equals("status")) { String text = null; String screenName = null; while (true) { event = parser.next(); if (event == XmlPullParser.START_TAG) { name = parser.getName(); if (name.equals("text")) { text = parser.nextText(); } else if (name.equals("user")) { String userName; while (true) { int eventUser; eventUser = parser.next(); userName = parser.getName(); if (eventUser == XmlPullParser.START_TAG) { if (userName.equals("screen_name")) { screenName = parser.nextText(); } } else if (eventUser == XmlPullParser.END_TAG && userName.equals(("user"))) { break; } } } } else if (event == XmlPullParser.END_TAG && parser.getName().equals("status")){ break; } } System.out.println(screenName + ": " + text); //have to reset the parser input after every status parse parser.setInput(stream, "utf-8"); } } else if (event == XmlPullParser.END_TAG && parser.getName().equals("statuses")) break; } } } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (XmlPullParserException e) { e.printStackTrace(); } }