`
rainsilence
  • 浏览: 160590 次
  • 性别: 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等,需要配置相应的数据库...

    仿站必备。网站下载工具

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

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

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

    仿站小工具可以整站下载

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

    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...

    仿世纪佳缘整站 源码

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

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

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

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

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

    站长仿站免费版最新

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

    高仿QB网页版

    6. **响应式设计**:考虑到用户可能在不同设备上访问,网页版需要具备良好的响应式设计,适应各种屏幕尺寸和分辨率。 7. **性能优化**:优化页面加载速度、减少请求次数、缓存策略等都是提升用户体验的关键。 8. *...

    QQ空间高仿源码

    2. **响应式设计**:QQ空间高仿源码需要考虑不同设备的兼容性,包括手机、平板电脑和桌面电脑。因此,响应式设计是关键,确保界面在不同屏幕尺寸上都能良好显示。 3. **AJAX**:为了实现类似QQ空间的实时更新和无...

    手机仿美食速递网_HTML手机电脑网站_网页源码移动端前端_H5模板_自适应响应式源码.zip

    9. **网页性能优化**: 响应式源码通常需要考虑性能优化,例如通过延迟加载图片、减少HTTP请求、使用适当的缓存策略等,以确保在各种网络条件下都能快速加载。 总的来说,这个压缩包提供了构建一个功能齐全、美观且...

    CF高仿登陆器

    开发者可能使用了像Bootstrap这样的框架来快速构建响应式界面,或者利用jQuery等库来增强交互性。 2. **后端开发**:虽然CF高仿登陆器可能不需要处理游戏数据,但仍然需要一个后端来处理用户验证、数据存储等任务。...

Global site tag (gtag.js) - Google Analytics