模拟浏览器

Posted 北方丶有佳人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模拟浏览器相关的知识,希望对你有一定的参考价值。

模拟浏览器,发送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>

以上是关于模拟浏览器的主要内容,如果未能解决你的问题,请参考以下文章

web代码片段

十条实用的jQuery代码片段

AJAX相关JS代码片段和部分浏览器模型

关于在各浏览器中插入音频文件的html代码片段

iOS Swift 中的 Android 片段模拟

兼容ie8,firefox,chrome浏览器的代码片段