简单的利用jdk 的socket和io流,模拟浏览器请求和响应
import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; import java.text.SimpleDateFormat; import java.util.Date; public class Server { public static void main(String[] args) { ServerSocket serverSocket = null; Socket client = null; try { serverSocket = new ServerSocket(9999); System.out.println("服务器初始化完毕,初始化注册端口是"+9999); while(true){ client = serverSocket.accept(); InputStream in = client.getInputStream(); byte[] buff = new byte[1024]; int len = in.read(buff); if(len>0){ String msg = new String(buff,0,len); System.out.println(msg); OutputStream os = client.getOutputStream(); SimpleDateFormat formt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); StringBuffer sb = new StringBuffer(); sb.append("HTTP/1.1 200 OK\n"); sb.append("Content-Type: text/html;charset=UTF-8\n"); sb.append("\r\n"); String html = "<html><head><title>各位朋友!</title></head><body>当前时间:"+ "<font size='14' color='blue'>"+ formt.format(new Date())+ "</font>"+ "<br/>服务器回复:<font size='14' color='blue'></font></body></html>"; sb.append(html); os.write(sb.toString().getBytes()); os.flush(); } } } catch (IOException e) { e.printStackTrace(); } } }
main方法跑起来后, 浏览器输入 http://localhost:9999/,控制台显示:第二行开始打印的就是http请求内容
浏览器接到响应显示:
相关推荐
在网络爬虫开发中,通过模拟浏览器行为去获取网络数据是一种常见的方式。而在这个过程中,我还需要监控网络请求、响应状态码、资源类型、响应时间等数据。本篇博文将介绍如何使用BrowserMobProxy结合Selenium进行...
CDSpace是基于Apache Http Client和Sun Http Server两个库,以JavaFX为GUI框架开发的一款HTTP接口测试工具,主要功能分为两部分:1、模拟HttpClient发送自定义请求给服务端,接受响应并将响应的消息体和头域显示在...
Jmeter模拟浏览器访问时,http请求为串行,未能有效模拟浏览器多线程同时请求Web服务器的情况,测试响应时间较实际长。 解决: 使用并发控制器,把网页浏览器并发请求的页面配置于同一个并发控制器之内。 安装配置...
请求响应时间 从客户端发出请求到得到响应的整个时间 一般包括网络响应时间+server的响应时间。 用户接受准则: 例如2-5-10原则,即按照正常用户体验,如果用户能够在2秒内得到响应,会感觉速度很快,如果2-5秒...
HTTP请求以及响应 模拟自动登录 验证码识别 加密解密 Done (已经实现) (待实现) (已经实现) (还有点问题) (还有点问题) (已经实现) (待实现) (待实现) (已经实现) (还有点问题) ##Todolist 0. 重构代码,增加可扩展...
它公开了GlobalWeather Web服务的功能(实际WSDL位于 ,但是该服务在开发时不可用,因此使用本地node.js应用程序模拟响应)。 该API从用户那里获取请求参数,并调用GlobalWeather Web服务进行查询。 它组织返回的...
将来交易的帐户ID必须包含在创建请求响应中; 摘要应返回所有帐户的动向(转账,存款和取款); 无法向自己进行转帐(源帐户不能与目标帐户相同);在本地运行API前提Java JDK 玛文码头工人Docker-撰写PostgreSQL...
也有分析认为,谷歌并不想做一个简单的手机终端制造商或者软件平台开发商,而意在一统传统互联网和 移 动互联网。----------------------------------- Android 编程基础 4 Android Android Android Android 手机新...
模拟服务器它曾经用来模拟应用程序服务。安装克隆存储库将应用程序导入到: Eclipse或Intellij作为maven项目跑步从根文件夹运行start.sh先决条件Jdk 1.8( ) 上面的Maven 3( ) 阿帕奇Tomcat昂首阔步工具与实用...