我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python解析http request

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python解析http request

如果通过抓包工具抓到一个raw http request,想要解析它,可以使用如下方法。

编写一个继承自python内置基类BaseHTTPRequestHandler的类,代码如下:

from BaseHTTPServer import BaseHTTPRequestHandler
from StringIO import StringIO

class HTTPRequest(BaseHTTPRequestHandler):
    def __init__(self, request_text):
        self.rfile = StringIO(request_text)
        self.raw_requestline = self.rfile.readline()
        self.error_code = self.error_message = None
        self.parse_request()

    def send_error(self, code, message):
        self.error_code = code
        self.error_message = message

然后通过这个类的实例就可以访问解析后的数据了

# Using this new class is really easy!

request = HTTPRequest(request_text)

print request.error_code       # None  (check this first)
print request.command          # "GET"
print request.path             # "/who/ken/trust.html"
print request.request_version  # "HTTP/1.1"
print len(request.headers)     # 3
print request.headers.keys()   # ['accept-charset', 'host', 'accept']
print request.headers['host']  # "cm.bell-labs.com"

要想知道HTTPRequest有哪些属性,可以查看python文档对“BaseHTTPServer.BaseHTTPRequestHandler”的说明。

欢迎扫描下方二维码关注我的微信公众号致新(zhixin991),那里有我的读书笔记,计算机科普和杂谈


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python解析http request

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python解析http request

如果通过抓包工具抓到一个raw http request,想要解析它,可以使用如下方法。编写一个继承自python内置基类BaseHTTPRequestHandler的类,代码如下:from BaseHTTPServer import Ba
2023-01-31

详解node HTTP请求客户端 - Request

Request是一个Node.jsNPM模块,它是一个HTTP客户端,使用简单功能确十分强大。我们可以用它来实现HTTP响应流的转接、模拟Form表单提交、支持HTTP认证、OAuth登录、自定义请求头等。下面我们来对这个模块做一个完整的介
2022-06-04

解析PHP中的Request用法

PHP中的Request用法解析在PHP编程中,Request是一个非常重要的概念,用于处理来自客户端的请求数据。在本文中,我们将深入探讨PHP中Request的用法,并提供一些具体的代码示例来帮助你更好地理解。让我们一起来详细解析吧。
解析PHP中的Request用法
2024-02-27

详解nodejs通过代理(proxy)发送http请求(request)

有可能有这样的需求,需要node作为web服务器通过另外一台http/https代理服务器发http或者https请求,废话不多说直接上代码大家都懂的:var http = require('http') var opt = {host:'
2022-06-04

怎么解析HTTP

今天就跟大家聊聊有关怎么解析HTTP,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用
2023-06-04

Python socket怎么解析HTTP请求内容

本篇内容主要讲解“Python socket怎么解析HTTP请求内容”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python socket怎么解析HTTP请求内容”吧!socket解析HTTP
2023-06-29

从源码解析Python的Flask框架中request对象的用法

from flask import request Flask 是一个人气非常高的Python Web框架,笔者也拿它写过一些大大小小的项目,Flask 有一个特性我非常的喜欢,就是无论在什么地方,如果你想要获取当前的request对象,只
2022-06-04

深入解析nodejs HTTP服务

我最近在研究nodejs的路上,正好这两天了解了nodejs HTTP服务,那么今天也算个学习笔记吧!nodejs最重要的方面之一是具有非常迅速的实现HTTP和HTTPS服务器和服务的能力。http服务是相当低层次的,你可能要用到不同的模块
2022-06-04

Python HTTP请求详解:发送、接收和解析网络请求

本文详细讲解了 Python HTTP 请求的基本流程,包括发送请求、接收响应和解析响应,并提供了演示代码,帮助您快速掌握 HTTP 请求的实现方法。
Python HTTP请求详解:发送、接收和解析网络请求
2024-02-23

Golang HTTP编程的源码解析详解

这篇文章主要为大家详细介绍了Golang中的HTTP编程以及源码解析,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的可以了解一下
2023-02-21

HTTP状态码460的含义解析

大白话解释:HTTP状态码460到底是什么意思?大家好,今天我们来聊一聊HTTP状态码中的一个比较奇怪的数字 - 460。相信不少朋友在开发网站或者浏览网页的时候都曾遇到过各种各样的错误页面,其中就包括HTTP状态码。而这个460状态码,
HTTP状态码460的含义解析
2024-02-24

HTTP状态码差异性的解析

在网络通信中,HTTP协议是应用层协议中最常用的之一。在HTTP通信的过程中,服务器会在响应报文中返回一个状态码,这个状态码用于告知请求的处理情况。HTTP状态码共分为五类,分别是1xx、2xx、3xx、4xx和5xx。首先,我们来看看1
HTTP状态码差异性的解析
2024-02-22

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录