下面的代码没有从网址中获取任何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的数据。