B/S模式的底層socket通訊練習
阿新 • • 發佈:2019-02-09
import java.io.IOException; import java.io.InputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.Socket; import java.net.UnknownHostException; public class MyBrowse { public static void main(String[] args) throws IOException { Socket s = new Socket("www.hncu.net", 80); PrintWriter out = new PrintWriter(new OutputStreamWriter(s.getOutputStream(), "gbk"),true); //模擬瀏覽器向伺服器傳送請求 //要按http協議的格式向伺服器發訊息,否則網站伺服器不會應答 out.println("GET / HTTP/1.1");//請求頭 out.println("Accept: text/html,application/xhtml,*/*");//格式 out.println("Host: www.sina.cn");//新浪網址 out.println("Connection: keep-alive"); out.println(); //接收伺服器的應答訊息 InputStream in = s.getInputStream(); byte buf[] = new byte[1024]; int len=0; while( (len=in.read(buf))!=-1){ String str = new String(buf,0,len); System.out.println(str); } } }