Nie wiem dlaczego w niektórych przypadkach server http nie odpowiada na żądania. jako zapytanie wysyłam to samo co przegladarka(bo przechwyciłem jej zapytanie. Dla większości stron działa jednak są takie jak np. <url>www.dom.pl</url> ,która nie odpowiada na zapytanie, a pzegladarka normalnie ją wyświetla wysyłając to samo zapytanie co ja????
Gdzie tkwi problem???
Poniższy kod bedzie działał jeśli zamienimy www.dom.pl na inną stronę np. www.wp.pl , www.o2.pl, www.google.pl.
Nie chce wykorzystywac URL bo w swoim programie docelowym komunikuje się na pozimie strumieni bajtów. Z GóRY DZIEKUJE ZDOLNYM PROGRAMISTą.....
String zapytanie = "GET http://www.dom.pl/ HTTP/1.1"
+"\r\n"+"Host: www.dom.pl"
+"\r\n"+"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12"
+"\r\n"+"Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5"
+"\r\n"+"Accept-Language: pl,en-us;q=0.7,en;q=0.3"
+"\r\n"+"Accept-Encoding: gzip,deflate"
+"\r\n"+"Acept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7"
+"\r\n"+"Keep-Alive: 300"
+"\r\n"+"Proxy-Connection: keep-alive"
+"\r\n\r\n";
try {
Socket socket = new Socket(InetAddress.getByName("www.dom.pl"), 80);
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
String temp = null;
out.write(zapytanie);
out.flush();
if( (temp = in.readLine()) != null )
zawartosc.append(temp);
else
zawartosc.append("pusta linia\n");
System.out.println(zawartosc);
zawartosc.append("\n\nto cos2:\n)");
System.out.println(zawartosc);
} catch (Exception e) {
zawartosc.append("server blad odpowiada"+e.getMessage());
System.out.println(zawartosc);
}