使用telnet模拟http请求
HTTP
首先我们需要知道http报文是由一系列的字符串组成的。然后我们来了解具体的相关事项。
方法
HTTP支持几种不同形式的请求命令,这些命令就被称为HTTP方法。每个HTTP请求报文都包含一个方法,这个方法决定了服务区将会执行的动作。
常见的HTTP方法如下:
GET 从服务区向客户端发送命名资源
PUT 将来自客户端的数据存储到一个命名的服务器资源中
DELETE 从服务区中删除命名资源
POST 将客户端数据发送到一个服务区网关应用程序
HEAD 仅发送命名资源响应中的HTTP首部
状态码
每条HTTP响应报文返回时都会携带一个状态码。状态码是一个三位数字的代码,每条代码一般代表了一个具体的状态。除了状态码,HTTP还会发送一条解释性的原因短语文本。
如:404 NotFound
需要注意的是所有的处理过程使用的都是数字码,所以说哪怕返回的是404 xxxx也是可以的。
报文
HTTP报文都是纯文本。所有对HTTP报文都可以很方便的进行读写。
例:Get /index.htm HTTP/1.0
Accept:text/html
Host: www.baidu.com
Accept-Language:en
例:HTTP/1.0 200OK
Content-type:text/plain
Content-length:19
TEST!
HTTP报文包括三个部分
起始行:报文的第一行就是起始行,在请求报文中用来说明要做些什么,在响应报文中说明出现了什么情况。
首部字段:起始行后的内容被称为首部字段,每个字段都包含一个属性和对应的值,为了便于解析,两者之间使用冒号【:】来分隔。首部以一个空行结束
主体:在首部字段的空行后就是可选的报文主体了,其中包含了所有类型的数据,请求主体中包括了要发送给服务器的数据,响应主体中则包含了需要返回给客户端的数据。起始行和数据字段都是文本形式且都是结构化的,而主体则不同,主体中可以包含任意类型的数据。
在windows下使用telnet www.baidu.com 80

这时会显示空白的命令行,按下【ctrl+]】

回车进入编辑状态,此时又回到空白状态,输入http请求

输入两个回车,即两个\r\n即可得到结果

使用telnet模拟http请求的更多相关文章
- [转】HTTP请求流程(二)----Telnet模拟HTTP请求
转自: http://www.cnblogs.com/stg609/archive/2008/07/06/1237000.html 上一部分"流程简介", 我们大致了解了下HTTP ...
- 利用telnet模拟http请求
最近准备接触php socket编程,所以准备先巩固以前学到的知识, 这里先简单回顾下 利用telnet 来模拟http请求. 1.先在80端口指向的目录建立http.php 文件 2.在终端输入 t ...
- HTTP请求流程(二)----Telnet模拟HTTP请求
http://www.cnblogs.com/stg609/archive/2008/07/06/1237000.html 上一部分"流程简介", 我们大致了解了下HTTP请求的流 ...
- windows telnet 模拟 http请求
1. 开启windows自带的telnet客户端(控制面板 --> 程序 --> 启用或关闭windows功能 --> ) 2. 打开cmd,使用Telnet客户端 3. 按ctrl ...
- TELNET模拟HTTP请求
开启nginx服务,查看服务器地址(192.168.11.119) 使用telnet命令连接服务器的80端口 http协议报文格式 1.request 2.response 输入请求行: GET / ...
- 利用Telnet来模拟Http请求 有GET和POST两种
利用Telnet来模拟Http请求---访问百度. 1.打开"运行"->cmd进入命令环境: 2.输入"telnet www.baidu.c ...
- cmd Telnet 手工模拟http请求
telnet Windows系统自带的访问页面命令 首先打开控制面板点击卸载程序 打开windows功能 勾选 telnt 客户端 在打开cmd 命令 输入 telnt www.baidu.com 8 ...
- socket 模拟 HTTP请求
一.socket介绍 网络由下往上分为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层.IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层.socket则是对TCP/I ...
- CMD模拟http请求
搭建环境 前提是在win7中开启telnet服务 开启方法请参考:http://jingyan.baidu.com/article/870c6fc3cd6fa9b03fe4bee4.html 打开Te ...
随机推荐
- js常见错误类型
(1)SyntaxError SyntaxError是解析代码时发生的语法错误 // 变量名错误 var 1a; // 缺少括号 console.log 'hello'); (2)ReferenceE ...
- oracle 查询非自增长分区的最大分区
select a.table_owner, a.table_name, a.max_partition from (select table_owner, table_name, max(parti ...
- python链家网高并发异步爬虫asyncio+aiohttp+aiomysql异步存入数据
python链家网二手房异步IO爬虫,使用asyncio.aiohttp和aiomysql 很多小伙伴初学python时都会学习到爬虫,刚入门时会使用requests.urllib这些同步的库进行单线 ...
- 【Codeforces 1120A】Diana and Liana
Codeforces 1120 A 题意:给\(n\)个数\(a_1..a_n\),要从其中删去小于等于\(n-m\times k\)个数,使得将这个数组分成\(k\)个一段的序列时有至少一段满足以下 ...
- QT pri 文件的作用
i 是什么东西?包含(include)的首字母.类似于C.C++中的头文件吧,我们可以把 *.pro 文件内的一部分内容单独放到一个 *.pri 文件内,然后包含进来. 接前面的例子,我们将源文件的设 ...
- Django学习篇(web框架的由来)
Python的WEB框架有 Django.Tornado.Flask 等多种 ,Django相较与其他WEB框架其优势为: 大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多 ...
- python里面 循环明细对比 相同人员明细,生成同一订单里面
#2018-04-16 def action_create_purc(self,cr,uid,ids,context=None): mrp_origin_obj=self.browse(cr,uid, ...
- CF666E Forensic Examination 广义SAM、线段树合并、倍增、扫描线
传送门 朴素想法:对\(M\)个匹配串\(T_1,...,T_M\)建立广义SAM,对于每一次询问,找到这个SAM上\(S[pl...pr]\)对应的状态,然后计算出对于每一个\(i \in [l,r ...
- React-简书视频学习总结
react的基础语法 redux这个数据层框架 react-redux如何方便我们在react中使用redux react-router 4.0 这样的非常实用的相关的第三方模块儿 immutable ...
- 在线图标制作,格式转换 ICON
在线图标制作,格式转换 https://www.easyicon.net/covert/