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. BZOJ2388:旅行规划(travel)——分块凸包

    题目 OIVillage 是一个风景秀美的乡村,为了更好的利用当地的旅游资源,吸引游客,推动经济发展,xkszltl 决定修建了一条铁路将当地 $n$ 个最著名的经典连接起来,让游客可以通过火车从铁路 ...

  2. zabbix 接口 | zabbix api 实践

    原文地址:https://www.jianshu.com/p/d5faa110e78e zabbix 接口地址:https://www.zabbix.com/documentation/3.2/man ...

  3. nginx 反向代理配置 upstream

    最近项目要写后台,用nodejs写服务接口,然后研究了下nginx反向代理,各种坑下来,也总算把代理配了下来. 我本地用nodejs起了两个服务,一个端口是8888,一个端口是8889,在启动ngin ...

  4. Unable to load EJB module

    http://stackoverflow.com/questions/12414526/unable-to-load-ejb-module

  5. 微信小程序采坑之上拉触底加载更多和下拉刷新

    小程序中加载更多数据一般都是触底刷新 有自带的函数: onReachBottom: function (){} 但是在使用时触发完全没有反应,后来尝试给外层加了一个高度,解决问题 仔细想想也是,没有设 ...

  6. 极客学院年VIP卡原价260的F码,200出售

    F码是中国最大的IT职业在线教育平台——极客学院推出的VIP时间兑换码,凭此可在极客学院官网兑换年VIP,畅享平台上所有IT技术课程. 购买请点击 http://www.bejson.com/othe ...

  7. 小技巧(updating)

    小技巧 我们要算一个点集中所有点到另一个点集中所有点的一些量的时候,可以建立一个超级源点和超级汇点,从多->多变成单->单 整体二分的时候,操作要可以撤销,才能保证复杂度,每一层到左边区间 ...

  8. 1081 Rational Sum(20 分)

    Given N rational numbers in the form numerator/denominator, you are supposed to calculate their sum. ...

  9. 类成员函数的重载、覆盖和隐藏区别 (C++)

    这是本人第一次写博客,主要是想记录自己的学习过程.心得体会,一是可以方便以后回顾相关知识,二是可以与大家相互学习交流. 关于C++中类成员函数的重载.覆盖和隐藏区别,第一次看到这个问题是在准备找工作的 ...

  10. 《深入理解java虚拟机》笔记(8)类的加载机制

    一.类加载机制 类加载器将类的.class文件中的二进制数据读入到内存中,将其放在方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构.类的加载的最终产品是位 ...