mam za zadanie pobrac tresc strony typu http://www.google.com/search?q=pies (chodzi mi o to ze musi byc na koncu zapytanie) za pomoca Socket. Niestety ponizszy kod dziala prawidlowo jedynie dla adresow bez "zapytan". Z tego co się dowiedziałem mozna uzyc metody getHost klasy URL aby wyciac z linku host. Jak jednak uzyskać tresc strony host+zapytanie
public class Nowa {
public static void main(String[]args) throws UnknownHostException, IOException{
//Socket s = new Socket("www.google.com/search?q=pies",80);
Socket s = new Socket("www.google.com",80);
InputStream is = s.getInputStream();
OutputStream os = s.getOutputStream();
StringBuilder sb = new StringBuilder();
PrintWriter pw = new PrintWriter(new OutputStreamWriter(os, "UTF-8"));
pw.println("GET / HTTP/1.1");
pw.println("HOST: www.google.com");
//pw.println("HOST: www.google.com/search?q=pies");
pw.println();
pw.flush();
BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
String ln=null;
while((ln = br.readLine()) !=null){
sb.append(ln);
sb.append("\n");
}
System.out.println(sb);
s.close();
}
}
Jak zapewne się domyślicie - w HTML'ach jestem zielony jak trawa , wiec licze na wyrozumiałość