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. sqlserver学习_01

    sqlserver的学习成长之路,每一个技术的学习过程都是值得让人回味的,现在百度上关于sqlser的资料很多,但是都太杂,希望能为大家分享一点简单易懂的干货,跟大家一起进步学习. 一.建表 1.创建 ...

  2. css中的em 简单教程 -- 转

    先附上原作的地址: https://www.w3cplus.com/css/px-to-em 习惯性的复制一遍~~~~ -------------------------------我是分界线---- ...

  3. javascript递归函数

    递归函数:是指函数直接或间接调用函数本身,则称该函数为递归函数. 这句话理解起来并不难,从概念上出发,给出以下的例子: function foo(){ console.log("函数 foo ...

  4. 3-51单片机WIFI学习(开发板8266底层源码介绍)

    上一篇链接  http://www.cnblogs.com/yangfengwu/p/8743502.html 直接上源码:注意源码有两部分,第一部分是一开始的时候写在模块内部的,另一部分是存在手机内 ...

  5. springmvc4开发rest

    Spring MVC 4 RESTFul Web Services CRUD Example+RestTemplate Created on:  August 11, 2015  | Last upd ...

  6. gradle入门(1-6)将Java项目从maven迁移到gradle

    gradle项目与maven项目相互转化(转) 转自: http://www.cnblogs.com/yjmyzz/p/gradle-to-maven.html 一.maven项目->gradl ...

  7. python当中的生成器

    最近身边的朋友都在问我迭代器是什么回事,经常跟大家一起讨论python的迭代器,一点点的我觉着自己有了更深一层的理解.我写下这篇文章,希望能对懵懵懂懂的好伙伴有些帮助~ 我也不是什么能人,难免说错一些 ...

  8. 高级控件 popwindow 与gridview的组合应用

    Gridview 的布局设置 <GridView android:layout_width="wrap_content" android:layout_height=&quo ...

  9. JavaScript 对图像进行(追加,插入,替换,删除)

    JavaScript 对图像进行(追加,插入,替换,删除) 本次所学内容: document.querySelector('.container') 这个是可以查找单个[id标签和class标签] d ...

  10. 一、Python3.6+PyQt5 安装

    一.安装PyQt5 方法一:使用pip3工具直接安装 直接在命令行中输入: Python 3.x pip3 install PyQt5 pip3 install PyQt5-tools Python ...