电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Python Http請求json解析庫用法解析

瀏覽:4日期:2022-07-04 08:04:12

httpparser介紹

:1.解析字節類型的http與https請求數據

:2.支持已k-v形式修改請求數據

:3.支持重新編碼請求數據

源碼

import json__author = '-ling'def parser(request_data): # 獲取請求的三個段: # 1.請求方法 URI協議 版本 # 2.請求頭(Request Header) # 3.請求正文 index0 = request_data.find(b'rnrn') request_predata = request_data[0:index0] index1 = request_predata.find(b'rn') # 請求方法 URI協議 版本 request_first_data = request_predata[0:index1].decode('utf-8') request_first = {} count = 0 list = ['method', ’url’, ’version’] for line in request_first_data.split(' '): if line != '': request_first[list[count]] = line count += 1 # print('解析請求方法 URI協議 版本:',request_first) # 請求頭(Request Header) request_header_data = request_predata[index1:].decode('utf-8') request_headers = {} for line in request_header_data.split('rn'): if line != '': line = line.replace(' ','') restemp = line.split(':') if restemp[0] == 'Host' and len(restemp) == 3:restemp[1] = restemp[1] + ':' +restemp[2] request_headers[restemp[0]] = restemp[1] # print('請求頭(Request Header):',request_headers) # 請求正文 request_nextdata = request_data[index0:].decode('utf-8') request_content_temp = request_nextdata.replace('rn', '') request_content = None if request_content_temp != '': try: request_content = json.loads(request_content_temp) except: request_content = {’content’:request_content_temp} # print('請求正文:',request_content) else: pass # print('無請求正文!') return request_first,request_headers,request_content,request_nextdatadef update_first_data(request_first_data,field,data): request_first_data[field] = datadef update_request_headers(request_headers,field,data): request_headers[field] = datadef update_request_content(request_content,field,data): request_content[field] = datadef encode(request_first_data,request_headers,request_content): request_data = b'' list = ['method', ’url’, ’version’] for key in list: request_data += (request_first_data[key] + ' ').encode('utf-8') request_data += 'rn'.encode('utf-8') for key in request_headers.keys(): request_data += (key + ':' + request_headers[key]).encode('utf-8') request_data += 'rn'.encode('utf-8') request_data += 'rn'.encode('utf-8') if request_content != None: request_data += json.dumps(request_content).encode('utf-8') # print('重新編碼以后的數據:',request_data.decode('utf-8')) return request_data

如何使用

1.解析請求數據

request_first,request_headers,request_content,request_nextdata = httpparser.parser(request_data)

2.修改或者增加各個部分的字段使用

update_first_data :修改第一行字段數據 update_request_headers :修改請求頭或者增加請求頭字段 update_request_content :修改請求內容字段或者增加請求內容

3.再編碼三個部分的數據

encode(request_first_data,request_headers,request_content)

示例(http返回數據如下):

b’HTTP/1.0 200 OKrnContent-Type: text/html; charset=utf-8rnContent-Length: 13rnServer: Werkzeug/1.0.1 Python/3.7.7rnDate: Thu, 15 Oct 2020 02:58:54 GMTrnrn<h1>foo!</h1>’

解析出來的數據:

注意:(parser傳入字節類型數據)

解析數據: {’method’: ’HTTP/1.0’, ’url’: ’200’, ’version’: ’

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 知网论文检测系统入口_论文查重免费查重_中国知网论文查询_学术不端检测系统 | 大型工业风扇_工业大风扇_大吊扇_厂房车间降温-合昌大风扇 | 对照品_中药对照品_标准品_对照药材_「格利普」高纯中药标准品厂家-成都格利普生物科技有限公司 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | 环比机械| 儋州在线-儋州招聘找工作、找房子、找对象,儋州综合生活信息门户! | 色油机-色母机-失重|称重式混料机-称重机-米重机-拌料机-[东莞同锐机械]精密计量科技制造商 | 天津中都白癜风医院_天津白癜风医院_天津治疗白癜风 | 起好名字_取个好名字_好名网免费取好名在线打分 | 14米地磅厂家价价格,150吨地磅厂家价格-百科| 密集架|电动密集架|移动密集架|黑龙江档案密集架-大量现货厂家销售 | 哈尔滨京科脑康神经内科医院-哈尔滨治疗头痛医院-哈尔滨治疗癫痫康复医院 | 深圳激光打标机_激光打标机_激光焊接机_激光切割机_同体激光打标机-深圳市创想激光科技有限公司 深圳快餐店设计-餐饮设计公司-餐饮空间品牌全案设计-深圳市勤蜂装饰工程 | 高硼硅玻璃|水位计玻璃板|光学三棱镜-邯郸奥维玻璃科技有限公司 高温高压釜(氢化反应釜)百科 | 数码听觉统合训练系统-儿童感觉-早期言语评估与训练系统-北京鑫泰盛世科技发展有限公司 | 反渗透水处理设备|工业零排放|水厂设备|软化水设备|海南净水设备--海南水处理设备厂家 | 液压扳手-高品质液压扳手供应商 - 液压扳手, 液压扳手供应商, 德国进口液压拉马 | 代写标书-专业代做标书-商业计划书代写「深圳卓越创兴公司」 | LED灯杆屏_LED广告机_户外LED广告机_智慧灯杆_智慧路灯-太龙智显科技(深圳)有限公司 | 通风天窗,通风气楼,屋顶通风天窗,屋顶通风天窗公司 | 【中联邦】增稠剂_增稠粉_水性增稠剂_涂料增稠剂_工业增稠剂生产厂家 | (中山|佛山|江门)环氧地坪漆,停车场地板漆,车库地板漆,聚氨酯地板漆-中山永旺地坪漆厂家 | arch电源_SINPRO_开关电源_模块电源_医疗电源-东佑源 | 水性绝缘漆_凡立水_绝缘漆树脂_环保绝缘漆-深圳维特利环保材料有限公司 | 骨密度检测仪_骨密度分析仪_骨密度仪_动脉硬化检测仪专业生产厂家【品源医疗】 | 实验室装修_实验室设计_实验室规划设计- 上海广建净化工程公司 | 国际线缆连接网 - 连接器_线缆线束加工行业门户网站 | 屏蔽泵厂家,化工屏蔽泵_维修-淄博泵业 | 浙江栓钉_焊钉_剪力钉厂家批发_杭州八建五金制造有限公司 | 生鲜配送系统-蔬菜食材配送管理系统-连锁餐饮订货配送软件-挪挪生鲜供应链管理软件 | 冷库安装厂家_杭州冷库_保鲜库建设-浙江克冷制冷设备有限公司 | 制氮设备-变压吸附制氮设备-制氧设备-杭州聚贤气体设备制造有限公司 | 有机肥设备生产制造厂家,BB掺混肥搅拌机、复合肥设备生产线,有机肥料全部加工设备多少钱,对辊挤压造粒机,有机肥造粒设备 -- 郑州程翔重工机械有限公司 | 环讯传媒,永康网络公司,永康网站建设,永康小程序开发制作,永康网站制作,武义网页设计,金华地区网站SEO优化推广 - 永康市环讯电子商务有限公司 | 乐泰胶水_loctite_乐泰胶_汉高乐泰授权(中国)总代理-鑫华良供应链 | 气力输送_输送机械_自动化配料系统_负压吸送_制造主力军江苏高达智能装备有限公司! | DWS物流设备_扫码称重量方一体机_快递包裹分拣机_广东高臻智能装备有限公司 | 空调风机,低噪声离心式通风机,不锈钢防爆风机,前倾皮带传动风机,后倾空调风机-山东捷风风机有限公司 | 意大利Frascold/富士豪压缩机_富士豪半封闭压缩机_富士豪活塞压缩机_富士豪螺杆压缩机 | 沈飞防静电地板__机房地板-深圳市沈飞防静电设备有限公司 | 断桥铝破碎机_发动机破碎机_杂铝破碎机厂家价格-皓星机械 | 杭州标识标牌|文化墙|展厅|导视|户内外广告|发光字|灯箱|铭阳制作公司 - 杭州标识标牌|文化墙|展厅|导视|户内外广告|发光字|灯箱|铭阳制作公司 |