模拟浏览器

本文介绍了一个使用Java实现的简单程序,该程序模拟浏览器向Tomcat服务器发送HTTP请求并接收响应的过程。通过创建Socket连接,向Tomcat发送GET请求获取指定资源,并展示了如何读取服务器返回的HTTP响应头及响应体。

模拟浏览器,发送http的消息给tomcat服务器,并获取服务器(Tomcat)反馈的信息

import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

public class MyBrowser {

    public static void main(String[] args) throws UnknownHostException, IOException {
        
        /*
         * 模拟浏览器,发送http的消息给tomcat服务器,并获取服务器反馈的信息
         */
        
        Socket s = new Socket("192.168.17.1",8080);
        
        //获取输出流,给服务器发送数据
        PrintWriter out = new PrintWriter(s.getOutputStream(),true);
        
        out.println("GET /myapp/font.html HTTP/1.1");
        out.println("Accept: */*");
        out.println("Host: 192.168.***.***:8080");//Tomcat的默认端口号是8080
        out.println("Connection: close");
        out.println();
        
        InputStream in = s.getInputStream();
        byte[] buf = new byte[1024];
        int len = in.read(buf);
            
        String str = new String(buf,0,len);
        System.out.println(str);
        
        
        s.close();
        
    }

}

获取到的http的应答头消息:

HTTP/1.1 200 OK //应答行 http协议版本,应答状态码,应答描述信息
应答属性信息:
Server: Apache-Coyote/1.1
Accept-Ranges: bytes
ETag: W/"177-1475663214882"
Last-Modified: Wed, 05 Oct 2016 10:26:54 GMT
Content-Type: text/html
Content-Length: 177
Date: Wed, 05 Oct 2016 10:27:09 GMT
Connection: close
空行
应答体。
<!DOCTYPE html>
<html>
<head>
<meta charset="GBK">
<title>Insert title here</title>
</head>
<body>
<font size="8" color = "red">这是GBK编码的文件</font>
</body>
</html>

转载于:https://www.cnblogs.com/qjlbky/p/5932692.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值