`
rainsilence
  • 浏览: 161615 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

(原)仿Http服务器下载响应

阅读更多

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;


public class HttpEngine {
	
	private ServerSocket serverSocket;
	
	public void start() throws IOException {
		serverSocket = new ServerSocket(8080, 3);
		
		while(true) {
			Socket socket = serverSocket.accept();
			parseRequest(socket);
			parseResponse(socket);
			socket.close();
		}
		
	}
	
	public void parseRequest(Socket socket) throws IOException {
		InputStream is = socket.getInputStream();
		byte[] b = new byte[is.available()];
		is.read(b);
		//is.close();
	}
	
	public void parseResponse(Socket socket) throws IOException {
		OutputStream os = socket.getOutputStream();
		
		File file = new File("D:\\document.pdf");
		StringBuilder httpHead = new StringBuilder();
		
		httpHead.append("HTTP/1.1 200 OK\r\n")
				.append("Server: Microsoft-IIS/5.0\r\n")
				.append("ContentType: application/x-download\r\n")
				.append("Content-Disposition: attachment;filename=" + file.getName()+ "\r\n")
				.append("Cache-control: private\r\n\r\n");
		
		os.write(httpHead.toString().getBytes());
		
		FileInputStream is = new FileInputStream(file);
		
		byte[] b = new byte[1024];
		
		while(is.read(b) != -1) {
			os.write(b);
		}
		
		os.flush();
		
		os.close();
	}
	
	public static void main(String args[]) throws Exception {
		new HttpEngine().start();
	}
}
 在浏览器地址栏中打http://localhost:8080就能得到下载文件了
分享到:
评论

相关推荐

    HTML+CSS 仿原神官网源码

    JavaScript 可以通过事件监听(如 `onclick`、`onmouseover`)来响应用户的操作,也可以与服务器进行交互,实现 AJAX 功能。在这个项目中,JavaScript 可能会与 CSS 配合,改变元素的样式或动画效果。 `css` 文件夹...

    网站整站下载仿站利器

    例如,有些网站可能使用了服务器端渲染或AJAX来动态加载内容,这时就需要理解这些技术的工作原理,并找到合适的方法获取到这些数据。 总的来说,"网站整站下载仿站利器"是一个强大的工具,可以帮助开发者快速获取...

    基于Openfier服务器的仿QQ聊天软件

    - 安装Openfire:首先,需要在服务器上下载并安装Openfire服务器,这通常涉及到解压安装包、运行安装程序和配置服务器参数。 - 数据库连接:Openfire支持多种数据库,如MySQL、PostgreSQL等,需要配置相应的数据库...

    极致cms精仿小黑猿资源网源码免费下载.zip

    【极致CMS精仿小黑猿资源网源码免费下载.zip】是一个包含软件开发资源的压缩包,主要用于构建类似“小刀娱乐网”、“小高教学网”或“资源吧”的网站。这个源码是基于jizhiCMS(极致内容管理系统)进行精仿设计的,...

    仿站必备。网站下载工具

    1. **网站抓取原理**:这些工具通常通过HTTP或HTTPS协议与服务器交互,模拟浏览器的行为,发送请求并接收响应,然后保存所有收到的资源。 2. **爬虫技术**:网站下载工具通常基于网络爬虫,能自动遍历网站的链接,...

    杰奇V2.2仿磨铁中文网二次开发版原创小说系统完整版网站源码下载.zip

    杰奇V2.2版本的原创小说系统是基于仿磨铁中文网的二次开发版,这个系统的完整版网站源码如今可以通过下载的方式获得。这个系统是专门为小说网站设计的,它包含了网站搭建所需的所有核心文件,开发者可以根据自身需求...

    仿站小工具可以整站下载

    - 数据模拟:对于动态数据,可能需要模拟服务器响应,以便在本地运行时呈现正确内容。 需要注意的是,使用仿站小工具必须遵循版权法和道德规范,只应用于学习、研究或个人项目,不可用于非法复制他人作品。同时,...

    957241213619966仿原神官网.zip

    【标题】"957241213619966仿原神官网.zip" 提供的是一款仿造原神官网的项目压缩包,可能是为了学习、研究或者教学目的,帮助用户了解和构建类似游戏官方网站的过程。原神是由米哈游开发的一款开放世界冒险游戏,其...

    NZ下载站整站源码NZ260仿模板下载吧整站源码 无授权版原版

    NZ下载站整站源码NZ260是一款用于构建在线资源下载网站的源代码,它模仿了"模板下载吧"的界面设计和功能布局。在分析这个源码时,我们可以探讨多个IT领域的知识点: 1. **网站框架与编程语言**: NZ260源码可能...

    高仿qq的最新版本

    这涉及到`AsyncTask`、`Handler`、`Thread`或`ExecutorService`的使用,或者使用现代的`LiveData`和`ViewModel`配合`Room`库实现响应式编程。 7. **推送通知**:为了实现实时消息推送,开发者可能使用了`Firebase ...

    原神官网 (采用HTML+CSS+JS+JDCB+Servlet+JSP+mysql).zip

    2. Servlet:Servlet是Java服务器端程序,主要处理HTTP请求,处理业务逻辑并生成动态内容。"原神官网"的Servlet可能负责处理用户的登录注册、新闻发布、评论提交等操作。 3. JSP(JavaServer Pages):JSP是Java的视...

    仿天空网站源码仿天空网站源码仿天空网站源码

    在仿制过程中,CSS文件将包含天空网的颜色方案、字体样式、布局和响应式设计等内容。开发者需要分析原始网站的CSS规则,并在自己的源码中复制这些规则,以确保界面的视觉一致性。 JavaScript则是实现交互性和动态...

    html5仿微信聊天界面

    6. **响应式设计**: 为了适应不同设备和屏幕尺寸,仿微信聊天界面应采用响应式设计。这通常通过媒体查询(`@media`)和百分比单位来实现,确保界面在手机、平板和桌面电脑上都能良好显示。 7. **本地存储**: HTML5...

    仿世纪佳缘整站 源码

    "仿世纪佳缘整站 源码"这个标题表明这是一个与世纪佳缘网站类似的完整网站源代码。世纪佳缘是中国知名的婚恋交友网站,因此这里的“仿”指的是该源码旨在复制或模仿世纪佳缘网站的功能、界面设计以及用户体验。整站...

    原生微信小程序源码 - 仿今日头条

    微信小程序是腾讯公司推出的一种轻量级应用开发平台,它无需下载安装即可使用,方便快捷。小程序的出现,极大地丰富了移动互联网的生态,为开发者提供了更广阔的创新空间。在这个项目中,“原生微信小程序源码 - 仿...

    ASP.NET仿百度网盘文件分享文件管理系统源码 会员上传下载文件 带搭建教程.zip

    ASP.NET仿百度网盘文件分享文件管理系统是一个基于.NET平台开发的网络应用程序,它模拟了百度网盘的核心功能,使得用户能够上传、下载文件,并具备了文件分享的能力。此外,该系统还设置了会员权限机制,区分普通...

    原生Java高仿抖音短视频APP双端源码.rar

    “环境php5.6 sql5.5”是指后端服务器环境,使用PHP 5.6版本作为服务器端脚本语言,处理和响应客户端请求。PHP是一种广泛用于Web开发的开源脚本语言,特别适合动态网站和应用程序的创建。同时,SQL5.5指的是MySQL...

    站长仿站免费版最新

    3. **响应式设计**:现代网站通常需要具备响应式能力,即能适应不同设备的屏幕尺寸。仿站时,要确保设计的网站能在手机、平板和桌面电脑等不同设备上正常显示。 4. **JavaScript与jQuery**:这两者都是实现网页动态...

    原生js仿手机发送短信界面效果代码.zip

    当然,纯前端实现也存在一些局限性,比如对于短信的发送和接收,如果需要与后端服务器进行交互处理真实的消息数据,则需要借助AJAX(异步JavaScript和XML)技术来实现。但总体而言,原生js仿手机发送短信界面效果...

    最新版仿天涯论坛系统源码带后台 支持打包APP安装包 开放式PHP原生态模板.zip

    同时,由于PHP语言的高效率,这款论坛系统源码在服务器响应和数据处理上表现优异,抗攻击能力也得到了加强。 音频视频内容的发布也是现代论坛系统的重要组成部分。“最新版仿天涯论坛系统源码”支持音频视频发布...

Global site tag (gtag.js) - Google Analytics