HTTP协议不仅可以用在浏览器中,还可以用在任何支持它的地方,平时用浏览器访问网站时HTTP协议内容是隐藏起来看不到的,用 telnet 就能揭开它的神秘面纱。telnet 开启方法参考文章末尾——telnet 的开启。HTTP协议到底是什么鬼,请看下面实例:

实例一:telnet 执行 GET

建立一个html页面:http://localhost/1.php,该页内容只有一个词:hello。

打开DOS窗口,输入下列代码然后回车:

telnet localhost 

80指的是端口号,如果你已经开启了 telnet 就可以进入 telnet 界面了。进入 telnet 界面开始时你是看不到自己输入的内容的。按 “CTRL+]” 然后回车就可以了。此时输入下面代码:

GET /.html HTTP/1.1
Host: localhost

GET 指的是请求方法,常用请求方法包括:GET、POST、HEAD、TRACE、PUT、DELETE、OPTIONS。
/1.html 指URL地址,如果是根目录则直接用 “/” 就可以了。
HTTP/1.1 指HTTP版本,现在基本都是1.1版本,这个比较固定。
Host: localhost 这一行是请求头,这里只有主机一项信息(注:Host:后面必须有空格)

输入完上面代码后敲2次回车DOS窗口就会显示如下信息:

其中第一行代码中的 200 是状态码,意思是请求成功,最后的 hello 就是获取到的 http://localhost/1.php 页面的内容。

实例二:telnet 执行 POST

将 http://localhost/1.php 内容改为:<?php echo $_POST["na"];?>。进入 telnet 界面输入如下代码:

POST /.php HTTP/1.1
Host: localhost
Content-type: application/x-www-form-urlencoded
Content-length: 10 na=zhangsa

第一行第二行代码和实例一是一样的,只是把 GET 方法改为 POST 方法。POST方法主要是用来传参数的,第三行就是指定POST所传参数的类型,第四行是指定该参数的长度,最后一行是要POST的内容,注意,第四行后面一定要空一行。输完后DOS窗口会立即显示如下信息:

这时可以看到代码也请求成功了,传入的参数值 zhangsa 也成功打印出来了。

telnet 的开启:打开控制面板—>程序与功能—>打开或关闭windows功能,勾选 telnet 客户端确定。

在 telnet 中利用HTTP协议传递GET、POST参数的更多相关文章

  1. 【转】asp.net中利用session对象传递、共享数据[session用法]

    来自:http://blog.unvs.cn/archives/session-transfer-method.html 下面介绍Asp.net中利用session对象传递.共享数据用法: 1.传递值 ...

  2. asp.net中利用session对象传递、共享数据[session用法]

    下面介绍Asp.net中利用session对象传递.共享数据用法: 1.传递值: 首先定义将一个文本值或单独一个值赋予session,如下: session[“name”]=textbox1.text ...

  3. 【问题】Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数

    [问题]Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数. [解决]直接对变量加引号,如: <button onclick="deleteProduct('@ ...

  4. 转载 C#中使用结构来传递多个参数

    C#中当参数超过5个时,建议用结构来传递多个参数. 示例代码如下: public struct MyStruct { public string str; public int number; } c ...

  5. 在动态THML语句中调用JS函数传递带空格参数的问题

    刚刚遇到一个问题,调用js函数的参数里带空格,造成调用失败的问题.   部分代码如下: html+="<div><a href=javascript:confirm(&qu ...

  6. C# 利用位运算传递多个参数方法

    前言 在工作中用sendMessage的方法向另外一个进程中传递窗体的位置,长度,宽度四个值,但是sendMessage的方法签名中只有两个参数.于是在网上找到了一些代码,找到了这个利用位运算来合并参 ...

  7. Objective-C中一个方法如何传递多个参数的理解

    原来如此 Objective-C语法中多参数传递方法经常是初学者最容易犯困的地方.我自己也是刚刚悟出来与大家分享. 分析 由于我们已有的语言经验告诉我们定义方法都是: 一个类型匹配一个参数(动态语言甚 ...

  8. Scrapy中的Callback如何传递多个参数

    在scrapy提交一个链接请求是用 Request(url,callback=func) 这种形式的,而parse只有一个response参数,如果自定义一个有多参数的parse可以考虑用下面的方法实 ...

  9. js创建点击事件中<a>标签onclick传递多个参数

    var rowIndex = e.rowIndex; var t = "<a href='javascript:void(0)' onclick=\"viewInfo('&q ...

随机推荐

  1. 数据故障的恢复-MSSQL ndf文件大小变为0 KB恢复过程

    一.故障描述 成都某客户,存储损坏,数据库崩溃.重组存储,恢复数据库文件,发现有四个ndf文件大小变为0 KB.数据库大小约80TB.数据库中有1223个文件,数据库每10天生成一个NDF文件,每个N ...

  2. PV & PVC - 每天5分钟玩转 Docker 容器技术(150)

    Volume 提供了非常好的数据持久化方案,不过在可管理性上还有不足. 拿前面 AWS EBS 的例子来说,要使用 Volume,Pod 必须事先知道如下信息: 当前 Volume 来自 AWS EB ...

  3. JAVA_SE基础——48.多态

    面向对象程序设计的三个特点是封装.继承和多态.前面已经学习了前两个特点.本章节将介绍多态性. 多态:一个对象具备多种形态.(父类的引用类型变量指向了子类的对象)或者是接口 的引用类型变量指向了接口实现 ...

  4. ASP.NET CORE 自定义视图组件(ViewComponent)注意事项

    *红色字体为固定命名,蓝色为一般命名规则,黄色为ASP.NET CORE 默认查找文件名 概要:1.简单ViewComponent的用法 2.ViewComponent控制器返回值  3.注意事项 1 ...

  5. api-gateway实践(01)服务网关 - 原型功能

    一.服务注册 1.增加组:LsqGrpA 2.增加版本:LsqVerA 3.增加api:LsqApiA 3.1.基本信息 3.2.前端定义 3.3.后端定义 二.服务上线和服务授权 1.服务上线 2. ...

  6. 我对let和const理解

    ​let和const是es6新出的两种变量声明的方式,接下来我来分别针对这两个,聊一聊. let ​let它的出现,我认为主要是解决了块级作用域的需求.因为js以前本身是没有什么块级作用域的概念的(顶 ...

  7. 生成git私钥

    在git已经安装的情况下,输入命令: 一.设置git的user name和email git config —(此处两个横杠)global user.name “XXX” git config —(此 ...

  8. python基础(初识Python)

    python基础(初识Python) 本章内容: Python 的种类 Python 的环境 Python 入门(解释器.编码.pyc文件.脚步传入参数.变量.输入.流程控制与缩进.while循环) ...

  9. 【笔记】css 自定义select 元素的箭头样式

    原文链接:https://www.imooc.com/qadetail/187585?t=281881 最近项目需要自定义select 元素的样式,搜索了一下发现了通过设置select 元素 css ...

  10. jquery、js调用iframe父窗口与子窗口元素的方法整理

    1. jquery 在iframe子页面获取父页面元素代码如下: $("#objid", parent.document) 2. jquery在父页面 获取iframe子页面的元素 ...