01_1_Socket实现
01_1_Socket实现
1.什么是MIME
Multipurpos Internet Mail Extension
指明白传送内容的格式
最早用于邮件附件
2.HTTP协议基础
HTTP(Hypertext Transfer Protocol,超文本传输协议)
HTTP是以明文方式发送数据的
用于从WWW服务器传输超文本到本地浏览器的传输协议。
HTTP协议是以TCP/IP为基础的高层协议。
现在广泛使用的版本HTTP/1.1
3.socket实现
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;
public class TestHTTP {
public static void main(String[] args) throws Exception {
Socket s = new Socket("127.0.0.1", 8080);
//建立一个到服务器的连接,127.0.0.表示要连接的ip, 8080表示要连接的端口
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
//Output只能写 Input只能读 OutputStreamWriter 提供转换的字符流 BufferedWriter 提供缓存功能
bw.write("Get / HTTP/1.1");
//Get 表示处理的方法 /表示处理的资源 HTTP/1.1处理的协议
bw.newLine();
//留一个空行
bw.write("Host: 127.0.0.1:8080");
//指定Host,因为有可能一个IP地址,管理多个域名
bw.newLine();
bw.write("Content-Type: text/html");
//指定访问的是什么类型的资源
bw.newLine();
bw.newLine();
//表示结束
bw.flush();
//清空缓存区的内容
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
String str = null;
while((str = br.readLine()) != null) {
System.out.println(str);
//循环读取从服务端的输入流
}
bw.close();
br.close();
s.close();
//关闭响应的流
}
}
01_1_Socket实现的更多相关文章
随机推荐
- 云服务器、虚拟主机和VPS的区别
虚拟主机就是利用网络空间技术,把一台服务器分成许多的"虚拟"的主机,每一台网络空间都具有独立的域名和IP地址,具有完整的Internet服务器功能.网络空间之间完全独立,在外界看来 ...
- css布局知识点汇总
昨天早上看到了一篇很棒的文章,这篇文章将布局的一些知识点整理的很不错.我也想整理一下,这样在以后的项目中可以活学活用,避免只用一种方式. 参考文章:https://segmentfault.com/a ...
- Python学习笔记(socket)
socket(数据传输接口) 搭建服务端 1.导入模块 import socket 2.创建socket对象 sock=socket .socket(socket_family,socket_topy ...
- 为产品接入微信支付解决方案(公司&个人)
微信支付个人及公司的区别 H5支付:主要实现的效果是在非微信内网页中点击支付,拉起微信APP内的微信支付进行付款. APP支付:主要实现的效果是在APP内部点击支付,拉起微信APP内的微信支付进行付款 ...
- scikit-learn使用fetch_mldata无法下载MNIST数据集的问题
scikit-learn使用fetch_mldata无法下载MNIST数据集的问题 0. 写在前面 参考书 <Python数据科学手册> 工具 python3.5.1,Jupyter La ...
- PAT甲级——1110 Complete Binary Tree (完全二叉树)
此文章同步发布在CSDN上:https://blog.csdn.net/weixin_44385565/article/details/90317830 1110 Complete Binary ...
- python中“生成器”、“迭代器”、“闭包”、“装饰器”的深入理解
python中"生成器"."迭代器"."闭包"."装饰器"的深入理解 一.生成器 1.生成器定义:在python中,一边 ...
- 转 sqlplus/RMAN/lsnrctl 等工具连接缓慢
AIX上sqlplus /as sysdba rman target / 或者lsnrctl start时或者通过sqlplus system/oracle@orcl这样通过监听连接等方式来登陆 ...
- nginx错误Upstream timed out
Upstream timed out (110: Connection timed out) while reading response header from upstream 这种情况主要在下面 ...
- B. Game of the Rows
B. Game of the Rows time limit per test 1 second memory limit per test 256 megabytes input standard ...