python agent应用

BaseHTTPServer 模块说明

class BaseHTTPServer.HTTPServer(server_address, RequestHandlerClass)
server_address : 是一个服务器 (ip, port)元组。
RequestHandlerClass : 负责处理实例参数的类。

class BaseHTTPServer.BaseHTTPRequestHandler(request, client_address, server)
这个类负责处理到达服务端的请求
就其本身而言,它不响应任何实际的HTTP请求;只能被其他类继承来处理每个不同的请求(GET or POST)
该处理程序将解析请求和标题, 然后根据请求类型的不同调用不同的方法进行处理
SPAM ---> do_SPAM()
所有相关信息都存储在处理程序的实例变量中,子类不需要重写或扩展__init__() 方法

BaseHTTPRequestHandler 拥有的实例变量:

client_address
    客户端的(host, port)
server
    服务端实例  --->  <BaseHTTPServer.HTTPServer instance at 0x7f8f9b229758>
command
    请求的类型 ---> POST
path
    请求的路径
request_version
    请求的版本 ---> 'HTTP/1.0'
headers
    请求头信息 --->    Accept-Encoding: identity
                       Content-Length: 74
                       Host: 192.168.1.109:33433
                       Content-Type: application/x-www-form-urlencoded
                       Connection: close
                       User-Agent: Python-urllib/2.7
rfile
    输入流,起始于输入数据的开始,输入数据是可选的。 
wfile
    输出流,用于写入返回给客户端的响应
    
BaseHTTPRequestHandler 拥有的类变量
protocol_version
        响应中使用的HTTP 协议的版本。如果设置为'HTTP/1.1',服务器将允许HTTP 持久连接;
        然而,此时你的服务器必须在所有给客户端的响应中包含一个准确的Content-Length 头
        (使用send_header())。为了向后兼容,该设置默认为'HTTP/1.0'。
        
BaseHTTPRequestHandler 方法    
handle()        
        调用一次handle_one_request()方法(如果启用持久连接,则调用多次)来处理进来的HTTP 请求。
        你应该永远不会需要覆盖它;相反,应该实现合适的do_*() 方法。
handle_one_request()        
        该方法将解析并分发请求给合适的do_*() 方法。你应该永远不需要覆盖它。

原创文章,作者:心肝坏了,如若转载,请注明出处:http://www.178linux.com/41818

(0)
心肝坏了心肝坏了
上一篇 2016-09-19
下一篇 2016-09-19

相关推荐

  • 输出重定向 输入重定向 管道简单介绍 -20160729

    输出重定向 输入重定向 管道简单介绍 标准输入和输出 我们先来了解下输入和输出的概念: 在计算机中我们了解到计算机的组成部分:其中有输入 输出设备。       输出重定向 对于程序来说: 程序 :指令 + 数据 对于数据来说,数据可以由我们通过键盘输入,或者程序直接使用存储设备上的数据,我们称为读入 数据,程序处理数据后需要返…

    Linux干货 2016-08-04
  • iptables实验2

    IPTABLES   实验2       实验大体结构图       相关概念及公式 源地址转换:    SNAT   POSTROUTING 目标地址转换:DNAT  PREROUTING   每次重启网络后…

    Linux干货 2016-10-24
  • shell编程及小命令

    1. ping 10.1.252.25d2 -c1 -w1 &> /dev/null && echo "The host is up" || echo "The host is down" 2. 在vim命令中, p或则P可以实现复制。     p: 复制到下一行 &n…

    Linux干货 2016-08-12
  • linux文件系统(ext2\ext3\ext4,xfs,btrfs…)的介绍[转载]

    ext2\ext3\ext4,xfs,btrfs 都是针对服务器系统越来越高效实用的日志文件系统 日志文件系统:    日志文件系统是一种即使在断电或者是操作系统崩溃的情况下保证文件系统一致性的途径。XFS对文件系统元数据提供了日志支持。当文件系统更新时,元数据会在实际的磁盘块被更新之前顺序写入日志。XFS的日志被保存在磁盘块的…

    Linux干货 2017-01-31
  • linux中硬链接与软链接的区别

    硬连接和软链接的区别: 1、          首先,两者的作用对象不同: 硬链接,只能应用于文件,而不能应用于目录,而且不能跨文件系统(即分区)。 软(符号)链接,可以应用于文件,而且可以应用于目录和可跨文件系统(分区)。 2、   &n…

    Linux干货 2016-10-20
  • 虚拟机的安装

    虚拟机的安装步骤: 1、打开VMware点击创建新的虚拟机 2、选择典型安装方式点击下一步 3、选择稍后安装操作系统点击下一步 4、客户机操作系统选择Linux,版本选择Centos 64位 5、设定虚拟机的名称及存放路径 6、设定磁盘的容量,选中将虚拟磁盘存储为单个文件 7、对虚拟设备进行设置 8、CD/DVD此项选中使用ISO映像文件并选择映像所在路径 …

    2018-03-27