我们都知道,不管你是做爬虫也好,采集工具也罢,它们的HTTP/HTTPS模拟访问总是一个基础问题,我估计有很多人和我一样,虽然这样,那样的内置或是第三方类库用了很多,却总是会有一些不如意的问题存在,亦或是BUG,或是其它功能上的缺陷,今天我给大家带来一份礼物,也是我多年工作和软件开发累计的结晶之一SuperWebClient,它是基于C语言的老牌开源协议模拟库CURL,我想做PHP的同学不会陌生,玩LINUX类系统的同学也不会陌生.       我也做了很长时间的采集工具平台软件,所以对所有对此…
今天我们讨论SuperWebClient组件使用中的几个简单主题 1: UserAgent2: Cookies3: POST登录 1:UserAgent这个是客户端标识信息,此信息是用于鉴别正在访问WEB服务的客户端的类型,下面我们通过抓包工具Fiddler,来获取几个典型浏览器的此项信息是怎么样的. Fiddler是一个.NET的开源HTTP/HTTPS协议分析软件,后来被收购后就没开源了好像.Fiddler 下载地址 http://www.telerik.com/fiddler,运行后如下所…
源码地址:https://github.com/wuchangming/node-mitmproxy node-mitmproxy node-mitmproxy是一个基于nodejs,支持http/https的中间人(MITM)代理,便于渗透测试和开发调试. 1.特性 1.支持https2.支持配置的方式启动,也支持以模块的方式引入到代码中 2.安装 windows npm install node-mitmproxy -g Mac sudo npm install node-mitmproxy…
前言 之前参与的新开放平台研发的过程中,由于不同的接口需要对不同的入参进行校验,这就涉及到通用参数的校验封装,如果不进行封装,那么写出来的校验代码将会风格不统一.校验工具类不一致.维护风险高等其它因素,于是我对其公共的校验做了一个封装,达到了通过注解的方式即可实现参数统一校验. 遇到的问题                     在封装的时候就发现了一个问题,我们是开放平台,返回的报文都必须是统一风格,也就是类似于{code:999,msg:"参数校验失败",data:null} 这种…
Github: https://github.com/Yoshino-UI... Docs: https://yoshino-ui.github.io/#/ Cli-Tool: https://github.com/Yoshino-UI... 安利一个自己写的组件库,欢迎大家指正,star来者不拒,pr也多多益善! 更多内容请移步Github, thanks! 设计思路 Yoshino本质上类似于Hexo,不同的主题组件类似于Hexo的各种theme,hexo官方仅提供了一套工具以及一个基础主题…
Hello 大家好,我是TANZAME,我们又见面了.今天我们来聊聊怎么手撸一个 Redis Cluster 集群客户端,纯手工有干货,您细品. 随着业务增长,线上环境的QPS暴增,自然而然将当前的单机 Redis 切换到群集模式.燃鹅,我们悲剧地发现,ServiceStack.Redis这个官方推荐的 .NET 客户端并没有支持集群模式.一通度娘翻墙无果后,决定自己强撸一个基于ServiceStack.Redis的Redis集群访问组件. 话不多说,先上运行效果图: Redis-Cluster…
一.构思 从Firefox浏览器拷贝cURL命令(初始页.提交.提交后) 自动分析curl形成模拟登录代码 默认参数:ssl/302/gzip 二.实现 接口 (一)根据curl信息执行并解析结果 public function execCurl($curlContent, $callbackBefore = false, $callbackAfter = false) (二)解析curl信息 protected function _parseCurl($curlContent) (三)执行cu…
起因: 经理:需要实现一个反向代理? 我:  简单,nginx分分钟配置好. 经理:嗯?没有nginx? 我: nodejs也行啊,网上有例子分分钟搞定. 经理:嗯?只有虚拟主机,只能上传php程序? 我:Oh,My god! 于是就有了一个php写的反向代理程序就诞生了 什么是反向代理: 百度百科有云: 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户…
1.背景 使用过Python开发的朋友,应该了解到Python2和Python3语法的差异,有时候从网上下载了基于不同解释器的代码,要来回切换版本, 使用起来不是很方便,有时候甚至很麻烦.于是有人发明了Conda,可以灵活切换版本. 本文要介绍的工具与Conda类似,名字叫SDKMAN,也可以灵活切换JDK版本.比如笔者最近从网上下载了一个源代码,编译时基于JDK11 ,本地没安装,对于JDK11不熟,又怕破坏本地环境变量,于是就有了这个尝试. SDKMAN支持以下JDK厂商及产品: 亚马逊 …
受益于这个模块的帮助,在这里我推荐一手. https://pythonhosted.org/psutil/#processes psutil是一个基于python的跨平台系统信息监视模块.在python下,我们可以利用它来监视.检测和限制系统资源的使用.它提供了类似于一套控制台的指令功能,像是ps.netstat.ifconfig等等.当前这个模块支持的系统有windows/osx/linux/FreeBSD/Sun Solaris.32.64位均支持.python环境为2.6-3.5. 这里我…