CN109857958A - 一种http输入点查找的方法 - Google Patents

一种http输入点查找的方法 Download PDF

Info

Publication number
CN109857958A
CN109857958A CN201910116161.XA CN201910116161A CN109857958A CN 109857958 A CN109857958 A CN 109857958A CN 201910116161 A CN201910116161 A CN 201910116161A CN 109857958 A CN109857958 A CN 109857958A
Authority
CN
China
Prior art keywords
input point
http
type
value
content
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910116161.XA
Other languages
English (en)
Other versions
CN109857958B (zh
Inventor
范丙华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Xiaodao Technology Co Ltd
Original Assignee
Hangzhou Xiaodao Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Xiaodao Technology Co Ltd filed Critical Hangzhou Xiaodao Technology Co Ltd
Priority to CN201910116161.XA priority Critical patent/CN109857958B/zh
Publication of CN109857958A publication Critical patent/CN109857958A/zh
Application granted granted Critical
Publication of CN109857958B publication Critical patent/CN109857958B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及一种互联网方法,具体是一种http输入点查找的方法,所述方法包括:从访问请求中提取到HTTP报文;根据HTTP报文中请求方法划分为GET型HTTP报文输入点查找和POST型HTTP报文输入点查找;对于GET型的请求,查找url或body中自定义字段来提取到输入点,对于POST型的请求,依据不同的content‑type,查找到对应的输入点。本发明可通过树型结构解析Content‑type为application/json和application/xml格式的深层属性作为输入点,并且支持HTTP请求头(含自定义头)输入点查找,以满足输入点全覆盖。

Description

一种http输入点查找的方法
技术领域
本发明涉及一种互联网方法,具体是一种http输入点查找的方法。
背景技术
市面上部分产品运用的技术是查找URL输入点和Content-type为application/x-www-form-urlencoded的输入点。
另外部分产品会运用技术查找特征Content-type为application/json和Content-type为application/xml输入点,但是不能解析深层属性作为输入点,也不能解决HTTP自定义头的输入点查找。
发明内容
本发明的目的在于提供一种http输入点查找的方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种http输入点查找的方法,所述方法包括:从访问请求中提取到HTTP报文;根据HTTP报文中请求方法划分为GET型HTTP报文输入点查找和POST型HTTP报文输入点查找;对于GET型的请求,查找url或body中自定义字段来提取到输入点,对于POST型的请求,依据不同的content-type,查找到对应的输入点。
作为本发明进一步的方案:所述的从访问请求中提取到HTTP报文方式为:获取web站点中的url,访问url,从中获取对应的http报文。
作为本发明进一步的方案:所述的GET型的请求,查找url或body中自定义字段来提取到输入点方式为:针对不同的输入点,使用不同的算法来提取。
作为本发明进一步的方案:所述针对不同的输入点,使用不同的算法来提取的内容包括:(1)参数值:对http报文数据进行正则匹配,过滤出URL中“?”后面的数据,并对过滤后的数据以“&”进行分割,进而以key-value的形式,提取出该输入点;(2)自定义头部:遍历HTTP报文的所有头部,与HTTP协议中定义的头部进行对比,若不在HTTP协议定义的头部,则提取该头部的值视为输入点。
作为本发明进一步的方案:所述的POST型的请求,依据不同的content-type,查找到对应的输入点。
作为本发明进一步的方案:所述依据不同的content-type,查找到对应的输入点的方法如下:
Content-type为application/json,提取出HTTP报文中请求内容值,这里含有两个输入点:一个输入点将整个请求内容作为输入点;另一个输入点利用python中json解析器将json数据转化为dict数据p,迭代数据p,得到value值v,对v进行判断,若为string类型,则作为输入点,若为dict格式,递归迭代,直到数据类型为string,并将其作为输入点。
作为本发明进一步的方案:所述Content-type为multipart/form-data,以?s:\r\n--.*规则对HTTP报文进行正则匹配,记录匹配值p1,再对此报文以--.*正则匹配,得到匹配值p2,将p1以p2为节点分割,得到数组p3,迭代p3,对每个值以\r\n\r\n.*规则进行正则匹配,匹配的值作为输入点。
作为本发明进一步的方案:所述Content-type为application/x-www-form-urlencoded,提取出HTTP报文中请求内容值,以&作为节点分割,得到数组p,迭代p,对每个元素再以=分割,得到数组p2,取出数组中第二个元素a,a就为输入点。
作为本发明再进一步的方案:所述Content-type为application/xml或text/xml,提取出HTTP报文中请求内容值,这里含有两个输入点:一个输入点是将整个请求内容值作为输入点;另一个输入点采用树型结构,将根标签作为根节点,属性、元素、子标签作为子节点,递归形成一颗树,取出所有的叶子节点作为输入点。
与现有技术相比,本发明的有益效果是:本发明可通过树型结构解析Content-type为application/json和application/xml格式的深层属性作为输入点,并且支持HTTP请求头(含自定义头)输入点查找,以满足输入点全覆盖。
具体实施方式
下面对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:一种http输入点查找的方法,所述方法包括:从访问请求中提取到HTTP报文;根据HTTP报文中请求方法划分为GET型HTTP报文输入点查找和POST型HTTP报文输入点查找;对于GET型的请求,查找url或body中自定义字段来提取到输入点,对于POST型的请求,依据不同的content-type,查找到对应的输入点。
实施例2:一种http输入点查找的方法,所述方法包括:从访问请求中提取到HTTP报文;根据HTTP报文中请求方法划分为GET型HTTP报文输入点查找和POST型HTTP报文输入点查找;对于GET型的请求,查找url或body中自定义字段来提取到输入点,对于POST型的请求,依据不同的content-type,查找到对应的输入点,所述的从访问请求中提取到HTTP报文方式为:获取web站点中的url,访问url,从中获取对应的http报文。
实施例3:在实施例1或2的基础上,所述的GET型的请求,查找url或body中自定义字段来提取到输入点方式为:针对不同的输入点,使用不同的算法来提取。
实施例4:在实施例3的基础上,所述针对不同的输入点,使用不同的算法来提取的内容包括:(1)参数值:对http报文数据进行正则匹配,过滤出URL中“?”后面的数据,并对过滤后的数据以“&”进行分割,进而以key-value的形式,提取出该输入点;(2)自定义头部:遍历HTTP报文的所有头部,与HTTP协议中定义的头部进行对比,若不在HTTP协议定义的头部,则提取该头部的值视为输入点。
实施例5:在实施例4的基础上,:所述的POST型的请求,依据不同的content-type,查找到对应的输入点。
所述依据不同的content-type,查找到对应的输入点的方法如下:
Content-type为application/json,提取出HTTP报文中请求内容值,这里含有两个输入点:一个输入点将整个请求内容作为输入点;另一个输入点利用python中json解析器将json数据转化为dict数据p,迭代数据p,得到value值v,对v进行判断,若为string类型,则作为输入点,若为dict格式,递归迭代,直到数据类型为string,并将其作为输入点。
所述Content-type为multipart/form-data,以?s:\r\n--.*规则对HTTP报文进行正则匹配,记录匹配值p1,再对此报文以--.*正则匹配,得到匹配值p2,将p1以p2为节点分割,得到数组p3,迭代p3,对每个值以\r\n\r\n.*规则进行正则匹配,匹配的值作为输入点。
所述Content-type为application/x-www-form-urlencoded,提取出HTTP报文中请求内容值,以&作为节点分割,得到数组p,迭代p,对每个元素再以=分割,得到数组p2,取出数组中第二个元素a,a就为输入点。
所述Content-type为application/xml或text/xml,提取出HTTP报文中请求内容值,这里含有两个输入点:一个输入点是将整个请求内容值作为输入点;另一个输入点采用树型结构,将根标签作为根节点,属性、元素、子标签作为子节点,递归形成一颗树,取出所有的叶子节点作为输入点。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

Claims (9)

1.一种http输入点查找的方法,其特征在于,所述方法包括:从访问请求中提取到HTTP报文;根据HTTP报文中请求方法划分为GET型HTTP报文输入点查找和POST型HTTP报文输入点查找;对于GET型的请求,查找url或body中自定义字段来提取到输入点,对于POST型的请求,依据不同的content-type,查找到对应的输入点。
2.根据权利要求1所述的http输入点查找的方法,其特征在于,所述的从访问请求中提取到HTTP报文方式为:获取web站点中的url,访问url,从中获取对应的http报文。
3.根据权利要求1所述的http输入点查找的方法,其特征在于,所述的GET型的请求,查找url或body中自定义字段来提取到输入点方式为:针对不同的输入点,使用不同的算法来提取。
4.根据权利要求3所述的http输入点查找的方法,其特征在于,所述针对不同的输入点,使用不同的算法来提取的内容包括:(1)参数值:对http报文数据进行正则匹配,过滤出URL中“?”后面的数据,并对过滤后的数据以“&”进行分割,进而以key-value的形式,提取出该输入点;(2)自定义头部:遍历HTTP报文的所有头部,与HTTP协议中定义的头部进行对比,若不在HTTP协议定义的头部,则提取该头部的值视为输入点。
5.根据权利要求1所述的http输入点查找的方法,其特征在于,所述的POST型的请求,依据不同的content-type,查找到对应的输入点。
6.根据权利要求5所述的http输入点查找的方法,其特征在于,所述依据不同的content-type,查找到对应的输入点的方法如下:
Content-type为application/json,提取出HTTP报文中请求内容值,这里含有两个输入点:一个输入点将整个请求内容作为输入点;另一个输入点利用python中json解析器将json数据转化为dict数据p,迭代数据p,得到value值v,对v进行判断,若为string类型,则作为输入点,若为dict格式,递归迭代,直到数据类型为string,并将其作为输入点。
7.根据权利要求5所述的http输入点查找的方法,其特征在于,所述Content-type为multipart/form-data,以?s:\r\n--.*规则对HTTP报文进行正则匹配,记录匹配值p1,再对此报文以--.*正则匹配,得到匹配值p2,将p1以p2为节点分割,得到数组p3,迭代p3,对每个值以\r\n\r\n.*规则进行正则匹配,匹配的值作为输入点。
8.根据权利要求5所述的http输入点查找的方法,其特征在于,所述Content-type为application/x-www-form-urlencoded,提取出HTTP报文中请求内容值,以&作为节点分割,得到数组p,迭代p,对每个元素再以=分割,得到数组p2,取出数组中第二个元素a,a就为输入点。
9.根据权利要求5所述的http输入点查找的方法,其特征在于,所述Content-type为application/xml或text/xml,提取出HTTP报文中请求内容值,这里含有两个输入点:一个输入点是将整个请求内容值作为输入点;另一个输入点采用树型结构,将根标签作为根节点,属性、元素、子标签作为子节点,递归形成一颗树,取出所有的叶子节点作为输入点。
CN201910116161.XA 2019-02-13 2019-02-13 一种http输入点查找的方法 Active CN109857958B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910116161.XA CN109857958B (zh) 2019-02-13 2019-02-13 一种http输入点查找的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910116161.XA CN109857958B (zh) 2019-02-13 2019-02-13 一种http输入点查找的方法

Publications (2)

Publication Number Publication Date
CN109857958A true CN109857958A (zh) 2019-06-07
CN109857958B CN109857958B (zh) 2020-11-24

Family

ID=66898012

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910116161.XA Active CN109857958B (zh) 2019-02-13 2019-02-13 一种http输入点查找的方法

Country Status (1)

Country Link
CN (1) CN109857958B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115292624A (zh) * 2022-10-08 2022-11-04 成都同步新创科技股份有限公司 基于http协议的通用报文处理方法及装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101231636A (zh) * 2007-01-25 2008-07-30 北京搜狗科技发展有限公司 一种便捷的信息搜索方法、系统及一种输入法系统
CN101763391A (zh) * 2008-12-23 2010-06-30 康佳集团股份有限公司 分布式网络站点及其信息搜索方法及系统
CN103392344A (zh) * 2010-12-17 2013-11-13 阿卡麦科技公司 使用用于流化的http网络的格式未知的流化体系结构
CN104579941A (zh) * 2015-01-05 2015-04-29 北京邮电大学 一种OpenFlow交换机中的报文分类方法
CN106067876A (zh) * 2016-05-27 2016-11-02 成都广达新网科技股份有限公司 一种基于模式匹配的http请求报文识别方法
CN106095772A (zh) * 2016-05-18 2016-11-09 厦门市美亚柏科信息股份有限公司 一种http协议信息提取的方法和装置
US20160337388A1 (en) * 2015-05-14 2016-11-17 International Business Machines Corporation Detecting web exploit kits by tree-based structural similarity search
US20170192993A1 (en) * 2008-09-01 2017-07-06 Google Inc. Method and system for generating search shortcuts and inline auto-complete entries
CN109086064A (zh) * 2018-08-01 2018-12-25 南京茂毓通软件科技有限公司 基于自定义标签语言的http协议要素通用抽取方法
CN109150962A (zh) * 2018-07-03 2019-01-04 北京东方网信科技股份有限公司 一种通过关键字快速识别http请求头的方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101231636A (zh) * 2007-01-25 2008-07-30 北京搜狗科技发展有限公司 一种便捷的信息搜索方法、系统及一种输入法系统
US20170192993A1 (en) * 2008-09-01 2017-07-06 Google Inc. Method and system for generating search shortcuts and inline auto-complete entries
CN101763391A (zh) * 2008-12-23 2010-06-30 康佳集团股份有限公司 分布式网络站点及其信息搜索方法及系统
CN103392344A (zh) * 2010-12-17 2013-11-13 阿卡麦科技公司 使用用于流化的http网络的格式未知的流化体系结构
CN104579941A (zh) * 2015-01-05 2015-04-29 北京邮电大学 一种OpenFlow交换机中的报文分类方法
US20160337388A1 (en) * 2015-05-14 2016-11-17 International Business Machines Corporation Detecting web exploit kits by tree-based structural similarity search
CN106095772A (zh) * 2016-05-18 2016-11-09 厦门市美亚柏科信息股份有限公司 一种http协议信息提取的方法和装置
CN106067876A (zh) * 2016-05-27 2016-11-02 成都广达新网科技股份有限公司 一种基于模式匹配的http请求报文识别方法
CN109150962A (zh) * 2018-07-03 2019-01-04 北京东方网信科技股份有限公司 一种通过关键字快速识别http请求头的方法
CN109086064A (zh) * 2018-08-01 2018-12-25 南京茂毓通软件科技有限公司 基于自定义标签语言的http协议要素通用抽取方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ALEX X. LIU等: ""High-speed application protocol parsing and extraction for deep flow inspection"", 《IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS(VOLUME:32,ISSUE:10,OCT.2014)》 *
吴昊等: ""HTTP 网络应用特征串的自动提取"", 《广西大学学报(自然科学版) 》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115292624A (zh) * 2022-10-08 2022-11-04 成都同步新创科技股份有限公司 基于http协议的通用报文处理方法及装置
CN115292624B (zh) * 2022-10-08 2023-08-04 成都同步新创科技股份有限公司 基于http协议的通用报文处理方法及装置

Also Published As

Publication number Publication date
CN109857958B (zh) 2020-11-24

Similar Documents

Publication Publication Date Title
CN109857917B (zh) 面向威胁情报的安全知识图谱构建方法及系统
CN106250412B (zh) 基于多源实体融合的知识图谱构建方法
CN108052547B (zh) 基于问句和知识图结构分析的自然语言问答方法及系统
CN106776711B (zh) 一种基于深度学习的中文医学知识图谱构建方法
CN107341215A (zh) 一种基于分布式计算平台的多源垂直知识图谱分类集成查询方法
CN109408811B (zh) 一种数据处理方法及服务器
CN107135092B (zh) 一种面向全局社交服务网的Web服务聚类方法
CN104484339B (zh) 一种相关实体推荐方法和系统
CN106528797A (zh) 基于Elasticsearch的DSL查询方法
CN105808696B (zh) 一种基于全局和局部特征的跨在线社交网络用户匹配方法
CN103593412B (zh) 一种基于树形结构问题的应答方法及系统
CN103198155A (zh) 一种基于移动终端的智能问答交互系统及方法
CN104063448B (zh) 一种视频领域相关的分布式微博数据抓取系统
KR101250845B1 (ko) 자연어에 기반하여 상품을 검색하는 방법, 쇼핑몰 서버 및 쇼핑몰 시스템
CN103530429B (zh) 一种网页正文抽取的方法
WO2016201988A1 (zh) 配置数据推送方法及装置
CN112633504A (zh) 一种基于知识图谱的果树病虫害智慧云知识服务系统及方法
CN113259467B (zh) 一种基于大数据的网页资产指纹标签识别与发现方法
CN110970112B (zh) 一种面向营养健康的知识图谱构建方法和系统
DE212017000068U1 (de) Einrichten von audio-basierten Netzwerksitzungen mit nicht registrierten Ressourcen
CN106796607A (zh) 用于基于模型的搜索及网络数据检索的系统和方法
CN109857958A (zh) 一种http输入点查找的方法
CN104915438B (zh) 一种获取特定话题微博中pcu关联数据的方法
CN113742368A (zh) 一种数据血缘关系分析方法
US20140122534A1 (en) Target tree generation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant