1. 程式人生 > >B/S模式的底層socket通訊練習

B/S模式的底層socket通訊練習

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);
		}
		
	}

}