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. 搭建java环境——使用Sublime Text 3(windows环境)

    实现sublime Text 3对Java编译执行 参考网址:http://tieba.baidu.com/p/2609515186 1.1直接在安装路径下找到*\Packages\Java.subl ...

  2. nyoj 矩形个数

    矩形的个数 时间限制:1000 ms  |  内存限制:65535 KB 难度:1   描述 在一个3*2的矩形中,可以找到6个1*1的矩形,4个2*1的矩形3个1*2的矩形,2个2*2的矩形,2个3 ...

  3. 09-移动端开发教程-Sass入门

    1. 引言 CSS3之前的CSS都大都是枚举属性样式,而编程语言强大的变量.函数.循环.分支等功能基本都不能在CSS中使用,让CSS的编程黯淡无光,Sass就是一种增强CSS编程的扩展语言(CSS4也 ...

  4. python 面向对象之封装与类与对象

    封装 一,引子 从封装本身的意思去理解,封装就好像是拿来一个麻袋,把小猫,小狗,小王八,小老虎一起装进麻袋,然后把麻袋封上口子.照这种逻辑看,封装='隐藏',这种理解是相当片面的 二,先看如何隐藏 在 ...

  5. 第四章 Ajax与jQuery

    第四章   Ajax与jQuery 一.Ajax简介 在传统的Web应用中,每次请求服务器都会生成新的页面,用户在提交请求后,总是要等待服务器的响应.如果前一个请求没有响应,则后一个请求就不能发送,在 ...

  6. SpringCloud的微服务网关:zuul(实践)

    Zuul的主要功能是路由和过滤器.路由功能是微服务的一部分,比如/api/user映射到user服务,/api/shop映射到shop服务.zuul实现了负载均衡. zuul有以下功能: Authen ...

  7. Android P专区免费开放 -- 同样的Android,不同的体验

    2018年3月8日,Google推出了Android P Preview版本,并提供官方镜像下载. 为了让广大开发者能够及时了解Android P的新功能特性,提前为您的app进行良好适配,WeTes ...

  8. POJ-2993 Emag eht htiw Em Pleh---棋盘模拟

    题目链接: https://vjudge.net/problem/POJ-2993 题目大意: 输入和输出和这里相反. 思路: 模拟题,没啥算法,直接模拟,不过为了代码精简,还是花了一点心思的 #in ...

  9. urllib.parse

    1 url分解 import urllib.parse result = urllib.parse.urlparse('http://www.baidu.com') print(result) 结果为 ...

  10. 在vue项目中, mock数据

    1. 在根目录下创建 test 目录, 用来存放模拟的 json 数据, 在 test 目录下创建模拟的数据 data.json 文件 2.在build目录下的 dev-server.js的文件作如下 ...