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就能得到下载文件了
分享到:
相关推荐
JavaScript 可以通过事件监听(如 `onclick`、`onmouseover`)来响应用户的操作,也可以与服务器进行交互,实现 AJAX 功能。在这个项目中,JavaScript 可能会与 CSS 配合,改变元素的样式或动画效果。 `css` 文件夹...
例如,有些网站可能使用了服务器端渲染或AJAX来动态加载内容,这时就需要理解这些技术的工作原理,并找到合适的方法获取到这些数据。 总的来说,"网站整站下载仿站利器"是一个强大的工具,可以帮助开发者快速获取...
- 安装Openfire:首先,需要在服务器上下载并安装Openfire服务器,这通常涉及到解压安装包、运行安装程序和配置服务器参数。 - 数据库连接:Openfire支持多种数据库,如MySQL、PostgreSQL等,需要配置相应的数据库...
1. **网站抓取原理**:这些工具通常通过HTTP或HTTPS协议与服务器交互,模拟浏览器的行为,发送请求并接收响应,然后保存所有收到的资源。 2. **爬虫技术**:网站下载工具通常基于网络爬虫,能自动遍历网站的链接,...
【极致CMS精仿小黑猿资源网源码免费下载.zip】是一个包含软件开发资源的压缩包,主要用于构建类似“小刀娱乐网”、“小高教学网”或“资源吧”的网站。这个源码是基于jizhiCMS(极致内容管理系统)进行精仿设计的,...
- 数据模拟:对于动态数据,可能需要模拟服务器响应,以便在本地运行时呈现正确内容。 需要注意的是,使用仿站小工具必须遵循版权法和道德规范,只应用于学习、研究或个人项目,不可用于非法复制他人作品。同时,...
【标题】"957241213619966仿原神官网.zip" 提供的是一款仿造原神官网的项目压缩包,可能是为了学习、研究或者教学目的,帮助用户了解和构建类似游戏官方网站的过程。原神是由米哈游开发的一款开放世界冒险游戏,其...
NZ下载站整站源码NZ260是一款用于构建在线资源下载网站的源代码,它模仿了"模板下载吧"的界面设计和功能布局。在分析这个源码时,我们可以探讨多个IT领域的知识点: 1. **网站框架与编程语言**: NZ260源码可能...
这涉及到`AsyncTask`、`Handler`、`Thread`或`ExecutorService`的使用,或者使用现代的`LiveData`和`ViewModel`配合`Room`库实现响应式编程。 7. **推送通知**:为了实现实时消息推送,开发者可能使用了`Firebase ...
2. Servlet:Servlet是Java服务器端程序,主要处理HTTP请求,处理业务逻辑并生成动态内容。"原神官网"的Servlet可能负责处理用户的登录注册、新闻发布、评论提交等操作。 3. JSP(JavaServer Pages):JSP是Java的视...
在仿制过程中,CSS文件将包含天空网的颜色方案、字体样式、布局和响应式设计等内容。开发者需要分析原始网站的CSS规则,并在自己的源码中复制这些规则,以确保界面的视觉一致性。 JavaScript则是实现交互性和动态...
6. **响应式设计**: 为了适应不同设备和屏幕尺寸,仿微信聊天界面应采用响应式设计。这通常通过媒体查询(`@media`)和百分比单位来实现,确保界面在手机、平板和桌面电脑上都能良好显示。 7. **本地存储**: HTML5...
"仿世纪佳缘整站 源码"这个标题表明这是一个与世纪佳缘网站类似的完整网站源代码。世纪佳缘是中国知名的婚恋交友网站,因此这里的“仿”指的是该源码旨在复制或模仿世纪佳缘网站的功能、界面设计以及用户体验。整站...
微信小程序是腾讯公司推出的一种轻量级应用开发平台,它无需下载安装即可使用,方便快捷。小程序的出现,极大地丰富了移动互联网的生态,为开发者提供了更广阔的创新空间。在这个项目中,“原生微信小程序源码 - 仿...
“环境php5.6 sql5.5”是指后端服务器环境,使用PHP 5.6版本作为服务器端脚本语言,处理和响应客户端请求。PHP是一种广泛用于Web开发的开源脚本语言,特别适合动态网站和应用程序的创建。同时,SQL5.5指的是MySQL...
3. **响应式设计**:现代网站通常需要具备响应式能力,即能适应不同设备的屏幕尺寸。仿站时,要确保设计的网站能在手机、平板和桌面电脑等不同设备上正常显示。 4. **JavaScript与jQuery**:这两者都是实现网页动态...
6. **响应式设计**:考虑到用户可能在不同设备上访问,网页版需要具备良好的响应式设计,适应各种屏幕尺寸和分辨率。 7. **性能优化**:优化页面加载速度、减少请求次数、缓存策略等都是提升用户体验的关键。 8. *...
2. **响应式设计**:QQ空间高仿源码需要考虑不同设备的兼容性,包括手机、平板电脑和桌面电脑。因此,响应式设计是关键,确保界面在不同屏幕尺寸上都能良好显示。 3. **AJAX**:为了实现类似QQ空间的实时更新和无...
9. **网页性能优化**: 响应式源码通常需要考虑性能优化,例如通过延迟加载图片、减少HTTP请求、使用适当的缓存策略等,以确保在各种网络条件下都能快速加载。 总的来说,这个压缩包提供了构建一个功能齐全、美观且...
开发者可能使用了像Bootstrap这样的框架来快速构建响应式界面,或者利用jQuery等库来增强交互性。 2. **后端开发**:虽然CF高仿登陆器可能不需要处理游戏数据,但仍然需要一个后端来处理用户验证、数据存储等任务。...