java socket 模拟 http_JAVA编写的使用Socket模拟Http的GET操作

雨点打透心脏的1/2处 2022-11-03 11:26 39阅读 0赞

JAVA编写的使用Socket模拟Http的GET操作,看后就很容易理解Web浏览器的原理了。

import java.io.BufferedReader;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.net.Socket;

public class TestSocket {

String host = “www.javathinker.org”;

int port = 80;

Socket socket;

public void createSocket() throws Exception {

socket = new Socket(“www.163.com”, 80);

}

public void communicate() throws Exception {

StringBuffer sb = new StringBuffer(“GET / HTTP/1.1/r/n”);

sb.append(“Host: www.163.com/r/n”);

sb.append(“Connection: Keep-Alive/r/n”);

sb.append(“Accept: */*/r/n/r/n”);

// 发出HTTP请求

OutputStream socketOut = socket.getOutputStream();

socketOut.write(sb.toString().getBytes());

socket.shutdownOutput(); // 关闭输出流

// 接收响应结果

System.out.println(socket);

InputStream socketIn = socket.getInputStream();

BufferedReader br = new BufferedReader(new InputStreamReader(socketIn));

String data;

while ((data = br.readLine()) != null) {

System.out.println(data);

}

socket.close();

}

public static void main(String args[]) throws Exception {

TestSocket client = new TestSocket();

client.createSocket();

client.communicate();

}

}

发表评论

表情:
评论列表 (有 0 条评论,39人围观)

还没有评论,来说两句吧...

相关阅读