2020
09-28
09-28
Python3自定义http/https请求拦截mitmproxy脚本实例
脚本内容代码如下:frommitmproxyimporthttp,ctxfrommultiprocessingimportLockclassFilter:def__init__(self,filter_info):self.log_info=""self.mutex=Lock()self.filter_info=filter_infoself.response_file=Noneself.switch_on=Falseself.log_file="log.txt"deflog(self,info)->None:self.log_info+=f"{info}\n\n"defwrite_log(self,mode="w+")->None:...
继续阅读 >
GolangHTTP服务在上线时,需要重新编译可执行文件,关闭正在运行的进程,然后再启动新的运行进程。对于访问频率比较高的面向终端用户的产品,关闭、重启的过程中会出现无法访问(nginx表现为502)的情况,影响终端用户的使用体验。实现的一般思路一般情况下,要实现平滑重启或升级,需要执行以下几个步骤:发布新的bin文件覆盖老的bin文件发送一个信号量(USR2),告诉正在运行的进程,进行重启正在运行的进程接受到信号后...
前言随着网络安全问题越来越被重视,HTTPS协议的使用已经逐渐主流化。目前的主流站点均已使用了HTTPS协议;比如:百度、淘宝、京东等一二线主站都已经迁移到HTTPS服务之上。而作为测试人员来讲,也要需时俱进对HTTPS协议要有一定的了解,这样就可以更好的帮助我们在工作完成任务和排查问题。HTTP与TCP首先,在理解HTTPS之前需要了解HTTP。HTTP(HyperTextTransferProtocol)是超文本传输协议,是在互联网上广泛使用的一种信息传...
摘要:本文首先简单介绍了I/O相关的基础概念,然后横向比较了Node、PHP、Java、Go的I/O性能,并给出了选型建议。了解应用程序的输入/输出(I/O)模型能够更好的理解它在处理负载时理想情况与实际情况下的差异。也许你的应用程序很小,也无需支撑太高的负载,所以这方面需要考虑的东西还比较少。但是,随着应用程序流量负载的增加,使用错误的I/O模型可能会导致非常严重的后果。在本文中,我们将把Node、Java、Go和P...
python包索引(PyPI)提供了超过10万个代码库的包,它能够帮助python程序员完成许多工作,无论是构建web应用程序还是分析数据。另外PyPI还提供了很多诸如twilio之类的API的辅助库。下面让我们通过使用4个不同的PythonHTTP库来学习如何从RESTfulAPI检索和解析JSON数据,以此来演示PyPI包的强大功能。文中的每个示例都包含以下内容:定义要解析的URL,我们将使用SpotifyAPI,因为它不需要在请...
一、网站即时消息(WebIM)如何实现消息推送网站即时消息(WebIM)通常有三种方式实现推送通道:1)WebSocket2)FlashSocket3)http轮询其中1)和2)是用Tcp长连接实现的,其消息的实时性可以通过tcp保证。方案3)才算是webim实现消息推送的“正统”方案,用http短连接轮询的方式实现“伪长连接”,既然是轮询,有朋友就对消息的实时性产生了质疑。本文要解答,webim使用http长轮询如何保证消息的绝对实时性。二、人们为什么会...
以前项目中遇到了很多浏览器缓存相关的问题,也在网上查过资料,搞过服务器的配置,来确保客户端加载服务器资源的速度和资源有效性。最近仔细看了下http协议中和缓存相关的一些属性,总结一下。浏览器缓存原理文字版描述①浏览器第一次访问服务器资源/index.html在浏览器中没有缓存文件,直接向服务器发送请求。服务器返回 200OK,实体中返回index.html文件内容,并设置一个缓存过期时间,一个文件修改时间,一个根...