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实现的更多相关文章

随机推荐

  1. 洛谷P3959 宝藏(状压dp)

    传送门 为什么感觉状压dp都好玄学……FlashHu大佬太强啦…… 设$f_{i,j}$表示当前选的点集为$i$,下一次要加入的点集为$j$时,新加入的点和原有的点之间的最小边权.具体的转移可以枚举$ ...

  2. shell编程 条件判断式----利用 if .... then ----多重

    条件判断式----利用 if .... then ----多重 在同一个数据的判断中,如果该数据需要进行多种不同的判断时,应该怎么作?举例来说,上面的 sh06.sh 脚本中,我们只要进行一次 $yn ...

  3. background-attachment:fixed不兼容性

    ios系统和某些移动端background-attachment:fixed不兼容性,没有任何效果,但可以hack一下就可以了,代码如下: ps:想在哪个标签加背景,可以在它class后:before ...

  4. NET Core写了一个轻量级的Interception框架[开源]

    NET Core写了一个轻量级的Interception框架[开源] ASP.NET Core具有一个以ServiceCollection和ServiceProvider为核心的依赖注入框架,虽然这只 ...

  5. Spring创建对象的几种方法

    一.通过构造器 无参构造器 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...

  6. C - AtCoDeerくんと選挙速報 / AtCoDeer and Election Report

    ceil有毒啊..用ceil一直错. 思路就是模拟吧,设当前的答案是ansx和ansy. 如果比例是小于ansx的,那么就要乘以一个倍数k1,使得a * k1 >= ansx的. 所以就用cei ...

  7. Ubuntu常用指令集

    Ubuntu Linux 操作系统常用命令详细介绍 ( 1)Udo apt-get install 软件名 安装软件命令 sudo nautilus 打开文件(有 root 权限)su root 切换 ...

  8. OpenCV ——IplImage应用解析

    由于OpenCV主要针对的是计算机视觉方面的处理,因此在函数库中,最重要的结构体是IplImage结构.IplImage结构来源于Intel的另外一个函数库Intel Image Processing ...

  9. c#基础 path 类的各种套路

    string str = @"C:\3000soft\Red Spider\Data\Message\老赵.wav"; //获得文件名 Console.WriteLine(Path ...

  10. springBoot jpa 表单关联查询

    1.创建两个实体类 import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.per ...