在 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 ...
随机推荐
- Solr搜索引擎搭建详细过程
1 什么是solr Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器.Solr可以独立运行在Jetty.Tomcat等这些Servlet容器中 ...
- JAVA_SE基础——55.自定义异常类
在Java中已经提供了大量的异常类,但是这些异常类有时野很难满足开发者的要求,所以用户可以根据自己的需要来定义自己的异常类.但自定义的异常类必须继承自Exception或其子类. 可以自定义出的问题称 ...
- JAVA_SE基础——53.什么是异常?
尽管人人都希望自己的身体健康,处理事情都能顺利进行, 但是在实际生活中总会遇到各种状况,比如,感冒发烧,电脑突然蓝屏死机等..程序也一样,程序在运行过程中,也会发生各种非正常状况,比如程序运行时磁盘不 ...
- mongo数据库的常见操作
连接mongodb数据库的命令查看对应数据库mongo.exeuse shujukuming;db.opportunity.findOne({"id":5}); db.opport ...
- JQ 上传文件(单个,多个,分片)
最原始的方式: 前端代码: <div> <span>最原始的方式</span><br /> <span>条件1:必须是 post 方式< ...
- Python内置函数(18)——bin
英文文档: bin(x) Convert an integer number to a binary string. The result is a valid Python expression. ...
- Python-字典、集合、字符编码、文件操作整理-Day3
1.字典 1.1.为什么有字典: 有个需求,存所有人的信息 这时候列表就不能轻易的表示完全names = ['stone','liang'] 1.2.元组: 定义符号()t = (1,2,3)tupl ...
- angular2 学习笔记 ( Rxjs, Promise, Async/Await 的区别 )
Promise 是 ES 6 Async/Await 是 ES 7 Rxjs 是一个 js 库 在使用 angular 时,你会经常看见这 3 个东西. 它们都和异步编程有关,有些情况下你会觉得用它们 ...
- Spring Security 入门(1-7)Spring Security - Session管理
参考链接:https://xueliang.org/article/detail/20170302232815082 session 管理 Spring Security 通过 http 元素下的子元 ...
- OAuth2.0学习(1-1)OAuth2.0是什么?
目前很多开放平台如新浪微博开放平台都在使用提供开放API接口供开发者使用,随之带来了第三方应用要到开放平台进行授权的问题 OAuth就是用于为第三方应用授权访问用户的资源应用的. 目前有OAuth1. ...