This program opens connection with a specified URL and hex-dumps the contents received from an associated input stream. Use this to find out what’s going on with your browser.
public class UrlHexDump { static final char[] hexes = "0123456789abcdef".toCharArray(); public static String toHex(int value, int length) { StringBuffer b = new StringBuffer(length); while(length-- > 0) { b.append(hexes[value & 0xf]); value >>= 4; } return b.reverse().toString(); } public static void main(String[] args) { try { URL url = new URL(args[0]); URLConnection connection = url.openConnection(); InputStream is = connection.getInputStream(); int n = connection.getContentLength(); String type = connection.getContentType(); System.out.println(type + ": " + n + " bytes."); for (int i = 0; i < n; i++) { int b = is.read(); if (b < 0) break; if ((i) % 32 == 0) System.out.print("
[" + toHex(i, 4) + "] "); System.out.print(" " + toHex(b & 0xff, 2)); } System.out.println(); } catch (IOException ex) { System.err.println("error: " + ex); } }}