一种实现HTTP代理的方法、装置、设备及存储介质制造方法及图纸

技术编号:28055297 阅读:22 留言:0更新日期:2021-04-14 13:24
本公开提供一种实现HTTP代理的方法、装置、设备及存储介质,涉及计算机技术领域,能够解决现有技术中在HTTP代理时运行成本与数据传输速率不能兼顾的问题。具体技术方案为:首先接收浏览器发送的超文本传输协议HTTP/超文本传输安全协议HTTPS数据;然后将HTTP/HTTPS数据转换为Agent调用数据,Agent调用数据为符合代理Agent脚本格式的数据;最后将Agent调用数据发送给中转服务器,以使中转服务器解析Agent调用数据后发送给目标服务器。本公开用于HTTP代理。于HTTP代理。于HTTP代理。

【技术实现步骤摘要】
一种实现HTTP代理的方法、装置、设备及存储介质


[0001]本公开涉及计算机
,尤其涉及一种实现HTTP代理的方法、装置、设备及存储介质。

技术介绍

[0002]HTTP代理服务器的作用是转发浏览器发出的HTTP数据给Web服务器,并将Web服务器返回的数据再返回给浏览器。其使用场景为浏览器无法与Web服务器直接通信,但浏览器可与HTTP代理服务器通信,HTTP代理服务器可与Web服务器通信,此时浏览器即可通过HTTP代理访问Web服务器。
[0003]目前,一般使用如nginx等Web服务器软件等配置为HTTP代理软件。但是这种方式需要部署服务器、开放独立端口、以及修改防火墙配置以满足其运行环境,运行成本较高。
[0004]另外,现有技术中还使用reGeorg软件(https://github.com/sensepost/reGeorg),利用已有支持动态脚本的Web服务器,在HTTP/HTTPS协议上中构建Socks5协议。其实现的动态脚本Agnet提供了用于转发TCP的4个API接口CONNECT、DISCONNECT、READ、FORWADR分别用于TCP的连接、关闭、读取数据、发送数据功能。reGeorg软件实现了Socks5服务端,当接收到对应Socks5指令时则通过调用Agent对应接口来转发TCP指令和数据。但是这种在方式下,当需要访问HTTPS网站时,需要调用八次Agent接口才能完成一次HTTPS请求和返回。分别是请求连接一次,SSL/TLS握手四次、发送HTTP数据一次、接收HTTP数据一次、关闭连接一次。即使对用HTTP网站也需要调用四次API,分别为请求连接一次,发送HTTP数据一次、接收HTTP数据一次、关闭连接一次。由于其对原始流量数据量有放大数倍,连接次数也至少四倍于原始连接次数,所以其速率慢、延迟高。

技术实现思路

[0005]本公开实施例提供一种实现HTTP代理的方法、装置、设备及存储介质,能够解决现有技术中在HTTP代理时运行成本与数据传输速率不能兼顾的问题。所述技术方案如下:
[0006]根据本公开实施例的第一方面,提供一种实现HTTP代理的方法,应用于HTTP代理服务器,所述方法包括:
[0007]接收浏览器发送的超文本传输协议HTTP/超文本传输安全协议HTTPS数据;
[0008]将所述HTTP/HTTPS数据转换为Agent调用数据,所述Agent调用数据为符合代理Agent脚本格式的数据;
[0009]将所述Agent调用数据发送给中转服务器,以使所述中转服务器解析所述Agent调用数据后发送给目标服务器。
[0010]本公开实施例提供的实现HTTP代理的方法,首先接收浏览器发送的超文本传输协议HTTP/超文本传输安全协议HTTPS数据;然后将HTTP/HTTPS数据转换为Agent调用数据,Agent调用数据为符合代理Agent脚本格式的数据;最后将Agent调用数据发送给中转服务器,以使中转服务器解析Agent调用数据后发送给目标服务器。本公开仅需要在Web服务器
上传一个动态脚本文件即可实现HTTP代理服务,免去了复杂部署步骤和环境要求,相比于现有技术而言,运行成本低,且速率快,延迟低。
[0011]在一个实施例中,上述方法还包括:
[0012]接收所述中转服务器发送的Agent调用返回数据;
[0013]将所述Agent调用返回数据转换为HTTP/HTTPS返回数据,并将所述HTTP/HTTPS返回数据发送给所述浏览器。
[0014]本公开实施例通过上述方法,通过HTTP服务器接收中转服务器返回的Agent调用返回数据,再发送给浏览器,实现浏览器访问目标服务器。
[0015]在一个实施例中,接收浏览器发送的超文本传输协议HTTP/超文本传输安全协议HTTPS数据包括:
[0016]接收所述浏览器发送的HTTP数据;或
[0017]接收所述浏览器发出的连接CONNECT指令;
[0018]根据所述连接CONNECT指令,与所述浏览器建立传输层安全协议TLS或安全套接字层SSL;
[0019]根据所述TLS/SSL,接收所述浏览器发送的HTTPS数据。
[0020]本公开实施例通过以上方法,浏览器可以通过HTTP代理服务器访问HTTP或者HTTPS网站。
[0021]在一个实施例中,所述Agent调用数据包括:
[0022]所述Agent调用数据至少包括host、port、https、data参数,所述host参数用于指示要转发的服务器域名或者互联网协议IP地址、所述port参数用于指示要转发的服务器端口、所述https参数用于指示是否为超文本传输安全协议https、所述data参数用于指示原始的http数据。
[0023]根据本公开实施例的第二方面,提供一种实现HTTP代理的方法,应用于中转服务器,所述方法包括:
[0024]接收HTTP代理服务器发送的Agent调用数据,所述Agent调用数据为符合Agent脚本格式的数据;
[0025]将所述Agent调用数据解析后发送给目标服务器;
[0026]接收所述目标服务器发送的返回数据;
[0027]将所述返回数据转换为Agent调用返回数据,发送给所述HTTP代理服务器,以使所述HTTP代理服务器转换为HTTP/HTTPS返回数据发送给浏览器。
[0028]本公开实施例提供的实现HTTP代理的方法,首先接收HTTP代理服务器发送的Agent调用数据,Agent调用数据为符合Agent脚本格式的数据;然后将Agent调用数据解析后发送给目标服务器;接收目标服务器发送的返回数据;最后将返回数据转换为Agent调用返回数据,发送给HTTP代理服务器,以使HTTP代理服务器转换为HTTP/HTTPS返回数据发送给浏览器。本公开仅需要在Web服务器上传一个动态脚本文件即可实现HTTP代理服务,免去了复杂部署步骤和环境要求,相比于现有技术而言,运行成本低,且速率快,延迟低。
[0029]在一个实施例中,在接收HTTP代理服务器发送的Agent调用数据之前,所述方法还包括:
[0030]上传所述Agent脚本到所述中转服务器,获得所述中转服务器对应的统一资源定
位符URL地址,并发送给所述HTTP代理服务器,以使所述HTTP代理服务器设置启动参数为所述统一资源定位符。
[0031]本公开实施例通过以上方法,可以实现HTTP代理服务器与中转服务器中Agent脚本的连接。
[0032]在一个实施例中,将所述Agent调用数据解析后发送给目标服务器包括:
[0033]判断所述Agent调用数据是否为HTTPS数据;
[0034]若是,则与所述目标服务器建立传输层安全协议TLS或安全套接字层SSL;
[0035]若否,则与所述目标服务器建立传输控制协议TCP;
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实现HTTP代理的方法,其特征在于,应用于HTTP代理服务器,所述方法包括:接收浏览器发送的超文本传输协议HTTP/超文本传输安全协议HTTPS数据;将所述HTTP/HTTPS数据转换为Agent调用数据,所述Agent调用数据为符合代理Agent脚本格式的数据;将所述Agent调用数据发送给中转服务器,以使所述中转服务器解析所述Agent调用数据后发送给目标服务器。2.根据权利要求1所述的实现HTTP代理的方法,其特征在于,所述方法还包括:接收所述中转服务器发送的Agent调用返回数据;将所述Agent调用返回数据转换为HTTP/HTTPS返回数据,并将所述HTTP/HTTPS返回数据发送给所述浏览器。3.根据权利要求1所述的实现HTTP代理的方法,其特征在于,所述接收浏览器发送的超文本传输协议HTTP/超文本传输安全协议HTTPS数据包括:接收所述浏览器发送的HTTP数据;或接收所述浏览器发出的连接CONNECT指令;根据所述连接CONNECT指令,与所述浏览器建立传输层安全协议TLS或安全套接字层SSL;根据所述TLS/SSL,接收所述浏览器发送的HTTPS数据。4.根据权利要求1所述的实现HTTP代理的方法,其特征在于,所述Agent调用数据包括:所述Agent调用数据至少包括host、port、https、data参数,所述host参数用于指示要转发的服务器域名或者互联网协议IP地址、所述port参数用于指示要转发的服务器端口、所述https参数用于指示是否为超文本传输安全协议https、所述data参数用于指示原始的http数据。5.一种实现HTTP代理的方法,其特征在于,应用于中转服务器,所述方法包括:接收HTTP代理服务器发送的Agent调用数据,所述Agent调用数据为符合Agent脚本格式的数据;将所述Agent调用数据解析后发送给目标服务器;接收所述目标服务器发送的返回数据;将所述返回数据转换为Agent调用返回数据,发...

【专利技术属性】
技术研发人员:赵培源朱程马坤
申请(专利权)人:西安四叶草信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1