在 telnet 中利用HTTP协议传递GET、POST参数
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参数的更多相关文章
- 【转】asp.net中利用session对象传递、共享数据[session用法]
来自:http://blog.unvs.cn/archives/session-transfer-method.html 下面介绍Asp.net中利用session对象传递.共享数据用法: 1.传递值 ...
- asp.net中利用session对象传递、共享数据[session用法]
下面介绍Asp.net中利用session对象传递.共享数据用法: 1.传递值: 首先定义将一个文本值或单独一个值赋予session,如下: session[“name”]=textbox1.text ...
- 【问题】Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数
[问题]Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数. [解决]直接对变量加引号,如: <button onclick="deleteProduct('@ ...
- 转载 C#中使用结构来传递多个参数
C#中当参数超过5个时,建议用结构来传递多个参数. 示例代码如下: public struct MyStruct { public string str; public int number; } c ...
- 在动态THML语句中调用JS函数传递带空格参数的问题
刚刚遇到一个问题,调用js函数的参数里带空格,造成调用失败的问题. 部分代码如下: html+="<div><a href=javascript:confirm(&qu ...
- C# 利用位运算传递多个参数方法
前言 在工作中用sendMessage的方法向另外一个进程中传递窗体的位置,长度,宽度四个值,但是sendMessage的方法签名中只有两个参数.于是在网上找到了一些代码,找到了这个利用位运算来合并参 ...
- Objective-C中一个方法如何传递多个参数的理解
原来如此 Objective-C语法中多参数传递方法经常是初学者最容易犯困的地方.我自己也是刚刚悟出来与大家分享. 分析 由于我们已有的语言经验告诉我们定义方法都是: 一个类型匹配一个参数(动态语言甚 ...
- Scrapy中的Callback如何传递多个参数
在scrapy提交一个链接请求是用 Request(url,callback=func) 这种形式的,而parse只有一个response参数,如果自定义一个有多参数的parse可以考虑用下面的方法实 ...
- js创建点击事件中<a>标签onclick传递多个参数
var rowIndex = e.rowIndex; var t = "<a href='javascript:void(0)' onclick=\"viewInfo('&q ...
随机推荐
- Linux安装mongodb总结
由于自己的博客上线部署时需要用到mongodb来存储图片文件,所以先在本地电脑上安装了mongodb做测试,由于之前没接触过mongodb,所以安装过程中遇到了各种小问题,折腾了好久终于安装好并成功启 ...
- 用phpcms切换中英文网页的方法(不用解析二级域名)、phpcms完成pc和手机端切换(同一域名)
AA.phpcms进行双语切换方法(不用解析二级域名)作者:悦悦 博客地址:http://www.cnblogs.com/nuanai/ phpcms进行两种语言的切换,有一把部分的人都是进行的二级域 ...
- 《javascript设计模式与开发实践》阅读笔记(13)—— 职责链模式
职责链模式 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止. 书里的订单的例子 假设我们负责一个售卖手机 ...
- Python大婶博客汇总
Python大神金星 博客:http://www.cnblogs.com/jin-xin/articles/7459977.html
- baidu地图:实现多点连线渲染
<script type="text/javascript"> var points = [ {"Lng":125.17787645967861,& ...
- VMwaretools、共享文件夹、全屏
VMware12.1 + Ubuntu14.04 + win10专业版 设置 共享文件夹和解决Ubuntu全屏问题. 我实在不喜欢这种敲敲打打的工作,不喜欢这种有点无聊的配置环境.我喜欢 ...
- 南阳OJ-91-阶乘之和---二进制枚举(入门)
题目链接:http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=91 题目大意: 给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为 ...
- www的构建技术
www的构建技术分别是: html超文本标记语言,页面的文本显示 http超文本传输协议,信息传输转移的约定 url统一资源定位符,客户端浏览超文本的地址集合
- Docker----起步
最近学习了一下的docker相关的东西,下面介绍一下我个人的学习总结和体会.关于docker的详细介绍和优势,在网上随便都可以找得到,就不做介绍了.这个部分的内容比较简单,有Docker基础的朋友可以 ...
- angular中使用echart遇到的获取容器高度异常的问题记录
问题 在使用echart去创建图表时,发现图表只占了容器的一个角落,如图,并没有充满容器. 第一反应是容器元素的样式有问题,于是我把容器的宽高都改为px指定的(之前是百分比设定的,查询资料发现说ech ...