一种修改http响应数据的方法及装置的制造方法_3

文档序号:9921864阅读:来源:国知局
请求后,并且在捕获到服务器端发送HTTP响应包给所述浏览器端之前,对服务器端所发送的HTTP响应包进行拦截,以基于下述操作对HTTP响应包中的内容进行修改操作。
[0048]步骤S205、读取包含至少一个响应规则的响应规则列表,并在所述响应规则列表中查找和获取与所述HTTP请求相匹配的响应规则。
[0049]在本实施例中,由于所述响应规则的设定都显示在响应规则列表中,所以需要对所述响应规则列表进行读取操作,其中所述响应规则列表至少包含一条响应规则。在对所述响应规则列表中的内容进行读取后,可在响应规则列表中查找与所述HTTP请求相匹配的响应规则,并获取查找到的响应规则中包含的内容。
[0050]进一步地,所述在所述响应规则列表中查找和获取与所述HTTP请求相匹配的响应规则,具体包括:
[0051 ]判断所述响应规则列表中是否存在与所述HTTP请求的URL相匹配的响应规则;如果存在所述响应规则,则判断所述响应规则中是否存在与所述HTTP请求的HTTP请求方法参数相匹配的HTTP请求方法参数;如果存在相匹配的HTTP请求方法参数,则获取所述响应规则。
[0052]在本实施例中,会将所述HTTP请求中的URL与响应规则列表中各响应规则文件中所包含的URL进行匹配。如果在所述响应规则列表中存在与所述HTTP请求的URL相匹配的响应规则,则可以确定所匹配到的响应规则(有可能为I个,也有可能是多个),并对该响应规则作进一步的匹配。即,再次判断该响应规则中是否存在与所述HTTP请求中的HTTP请求方法参数相匹配的HTTP请求方法参数。如果存在这样的响应规则(最终至多确定出I个响应规则),则获取该响应规则,即获取该响应规则中的所有数据信息(包括响应规则中的响应体数据)。
[0053]步骤S206、在获取到所述响应规则后,对所述HTTP请求的请求头进行修改,以禁用所述HTTP请求的缓存;并基于所述响应规则,修改所述HTTP响应包中的响应数据。
[0054]在本实施例中,当获取到所述响应规则(响应规则的数据信息)后,可以进行所述HTTP请求的请求头的修改操作,其修改操作可通过HTTP协议代理调试工具中的特定接口函数进行,其中,所述特定接口函数可理解为将HTTP请求发送给服务器之前工作的接口函数。示例性的,在Fiddler中,该特定接口函数的函数名表示为AutoTamperRequestBefore()。具体的,通过所述特定接口函数可以将该HTTP请求头中已设定的字段值修改成O,由此可以禁用所述HTTP请求的缓存。需要说明的是,禁用所述HTTP请求的缓存就能获取到所述HTTP请求所对应的完整的HTTP响应包,由此避免了服务器直接将该HTTP请求在服务器中的缓存信息发送给浏览器端的情况,进而保证了能够修改HTTP响应数据。
[0055]在本实施例中,当获取到响应规则并进行HTTP请求的缓存禁用后,可以基于已获取的响应规则进行所述HTTP响应包中响应数据的修改操作。
[0056]进一步地,所述基于所述响应规则,修改所述HTTP响应包中的响应数据,具体包括:
[0057]对所述HTTP响应包进行解压缩操作;获取所述响应规则中包含的响应体;将所述HTTP响应包中的响应数据替换为所述响应体中的数据。
[0058]在本实施例中,对所述HTTP响应包中的响应数据进行修改,首先要对所述HTTP响应包进行解压缩操作,因为在对所述HTTP响应包的传输过程中,一般将HTTP响应包以.gzip的格式进行压缩,所以在获取HTTP响应包中的数据时,需要先解压缩所述HTTP响应包;然后获取经匹配规则匹配后的响应规则里的响应体的信息内容;最终,可用所述响应规则的响应体内容替换所述HTTP响应包中的响应数据,由此实现对HTTP响应数据的修改。需要说明的是,在进行HTTP响应数据的修改中,还需要重新计算所述响应数据的长度,并基于计算出的长度值修改HTTP响应头中的响应体字段值,使该字段值等于修改后的HTTP响应数据的长度值。此外,在修改HTTP响应数据后,可将修改后的HTTP响应数据发送给浏览器端,浏览器端的用户就能看到修改后的HTTP响应数据信息。
[0059]本发明实施例二提供的一种修改HTTP响应数据的方法,进一步优化了响应规则的设置操作和响应数据的修改操作。使其在监听到对HTTP请求进行拖动操作后,能够获取该HTTP请求的会话数据并从会话数据中提取相关数据填充到弹出的响应规则设置表单中,该操作大大简化了响应规则的设置流程;且能够在捕获到浏览器端再次发送HTTP请求后,通过匹配URL和HTTP请求方法参数对响应规则列表中的响应规则进行匹配,基于该匹配规则大大提高了响应规则的匹配准确率;最终通过对当前HTTP响应包中响应数据的替换完成了对HTTP响应数据的修改。
[0060]实施例三
[0061]图3为本发明实施例三提供的一种修改HTTP响应数据的方法的流程示意图。本实施例三以上述实施例为基础进行优化,在本实施例中,在步骤“在监测到浏览器端再次发出所述HTTP请求后,匹配所述响应规则,并基于所述响应规则修改所述HTTP请求对应的HTTP响应数据”之后,还增加了步骤:区别显示所述HTTP协议代理调试工具会话列表中的所述HTTP请求。
[0062]如图3所示,本发明实施例提供的一种修改HTTP响应数据的方法,具体包括如下操作:
[0063]步骤S301、在监听到对会话列表中的HTTP请求进行拖动操作后,获取所述HTTP请求的会话数据,并基于所述会话数据设置所述HTTP请求对应的响应规则,其中,所述会话列表中的HTTP请求是浏览器端发出的HTTP请求。
[0064]步骤S302、在监测到浏览器端再次发出所述HTTP请求后,匹配所述响应规则,并基于所述响应规则修改所述HTTP请求对应的HTTP响应数据。
[0065]在本实施例中,不在详细描述步骤S301和步骤S302,其具体实现过程可参考实施例一或实施例二中的描述。
[0066]步骤S303、区别显示所述会话列表中的所述HTTP请求。
[0067]在本实施例中,可以理解的是,本发明所提供的修改HTTP响应数据的方法需要基于集成在H T T P协议代理调试工具中的修改H T T P响应数据的装置执行,因此,在对所需的HTTP请求进行对应的HTTP响应数据的修改后,需要将修改过响应数据的HTTP请求在所述HTTP协议代理调试工具会话列表中区别显示出来,达到提醒用户所述HTTP请求的响应数据已被修改的目的。示例性的,可以将修改HTTP响应数据所对应的HTTP请求在会话列表中以红色背景或绿色背景或其他较突出颜色背景进行区别显示。
[0068]本发明实施例三提供的一种修改HTTP响应数据的方法,完成了HTTP请求所对应响应规则的设置,并在监测到浏览器端再次发出该HTTP请求后,基于设置的响应规则完成了对HTTP响应数据的修改;此外,在完成HTTP响应数据的修改后,还将HTTP协议代理调试工具会话列表中该HTTP响应数据对应的HTTP请求进行区别显示,由此达到提醒用户所述HTTP请求的响应数据已被修改的目的。
[0069]实施例四
[0070]图4为本发明实施例四提供的一种修改HTTP响应数据的方法的流程示意图。本发明实施例四为一优选实施例,所提供的修改HTTP响应数据的方法由修改HTTP响应数据的装置执行,该装置作为一种插件集成在HTTP协议代理调试工具Fiddler中。
[0071]如图4所示,本发明实施四提供的一种修改HTTP响应数据的方法,具体包括如下操作:
[0072]步骤S401、在监听到对Fiddler的会话列表中的HTTP请求进行拖动操作后,获取所述HTTP请求的会话数据,同时弹出所述响应规则的设置表单。
[0073]其中,所述HTTP请求优选为基于Fiddler捕获的由浏览器端发出的HTTP请求;所述设置表单包括名为别名、URL、P0ST参数以及响应体的可编辑文本框。
[0074]示例性的,在Fiddler中通过IAutoTamper()接口函数实现对Fiddler的会话列表中的HTTP请求进行拖动操作的监听,所述IAutoTamper()接口函数的主要功能具体可理解为对Fiddler的事件进行监听。
[0075]步骤S402、将所述会话数据中包括的URL、POST参数以及所述HTTP请求的响应数据分别填充到所述设置表单的名为URL、P0ST参数以及响应体的可编辑文本框中;同时通过正则匹配提取会话数据的URL中的文件名,并将该文件名填充至名为别名的可编辑文本框中。
[0076]示例性的,在基于步骤S401弹出所述响应规则的设置表单后,就能快速实现所述会话数据到设置表单的填充。
[0077]步骤S403、在接收到用户对所述设置表单的可编辑文本框的
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1