Java – 使用Socket提取网站Html

下面的代码没有从url获取任何HTML

URL url = new URL("https://google.com"); Socket socket = new Socket(url.getHost(),443); socket.setSoTimeout(15000); BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream(),"UTF-8")); String c = ""; while((c = reader.readLine())!=null) { System.out.print(c); } reader.close(); socket.close(); 

我知道URLConnection方法openConnection()和URL类方法openStream(),但我不想使用它们。 所有我想知道的是为什么我没有使用Socket类得到任何输入,但我确实得到了使用其他方法的输入。

你没有发送任何请求。 HTTP是一种请求 – 响应协议:您需要发送一个请求,告诉Web服务器您要检索哪个URL,然后它将向您发送此URL的数据。