对ios app抓包的方式挺多的,最常规的方案就是本机开启一个http代理。然后手机进行设置,将本机内网ip以及端口设置上去。安装一个https证书,设置为信任就可以开始抓包了。这个方案非常通用。类似的实现以Fiddler、charles为代表,它们确实很好用,也很好理解。但是缺点也是有的

  • 最大的缺点就是每一次使用都需要设置代理,你需要查看本机内网ip,然后填写到手机上。调试完成后再将手机的代理设置清除
  • Fiddler只有windows版本可用,意味着mac需要使用虚拟机,charles并没有Fiddler好用,然而还卖的贼贵

同类型的开源方案最常见的是Python实现的mitmproxy。mitmweb也提供图形界面,别说,只要你不嫌弃还是挺好用的

osx上还有个比较奇葩的所谓网络调试软件Surge。99美刀,卖的还是挺贵的,功能还行,界面也挺花哨,忽悠小白是足够了。用它也能够远程调试,代价是需要用有线连接到mac电脑上,然后mac端软件就能捕获远程手机的网络请求数据,这个软件界面确实挺不错,然而请求过滤查找对比下Fiddler而言就是个渣渣吧。

因此想了一个比较另类的方案,手机使用mac电脑的网络,同时使用pf对请求进行转发。使用mitmproxy的透明代理模式获得手机端的数据,使用mitmweb进行展示

阅读全文

ocr.ficapy.com 后台实现

发布在 python

因为个人需求,写了一个很小众的作品,https://ocr.ficapy.com,我给它起的项目名是pdfaddtext,用途是给扫描版本的PDF文件加上搜索功能。使用场景是我有几本扫描版本的PDF书籍(网上有特别多的扫描版书籍),有时候想搜索书中有没有提到某个知识点,纯图片是无法搜索的,你只能凭记忆去找。本项目作用就是将PDF的文本内容识别出来,然后写入一层隐藏的文字层,这样PDF阅读器就能够搜索这些文字了,同时尽量保证将识别出来的文字写到原图片对应的位置,类似的工具有OCRmyPDF,它的缺点很明显,使用Tesseract OCR引擎,对比识别效果,简直被商用OCR吊打。

最开始有了这个想法,我大概花费了一个下午的时间用python写出了基本的demo。将每一页PDF转换成图片,然后用免费的OCR服务去识别,得到结果,最后合并出一个新的pdf出来。过程算是比较顺利。本着独乐乐不如众乐乐的心态。我计划将它转变成一项web服务,于是挖坑之旅就此开始了

TLDR

阅读全文

Tornado 杂项

发布在 Tornado

Tornado系列基本介绍的差不多了,本篇介绍一些零散的东西。有了前面的知识,本篇会讲的比较粗略

阅读全文

Tornado 之queue

发布在 Tornado

介绍完StackContext、gen.engine、gen.coroutine之后Tornado3.0以前的核心内容基本已经完结了。本篇介绍一下gen.coroutine中Future的应用,在tornado中生成一个队列的数据结构。如果经常写web的情况,单单只处理用户的输入给出输出,那么要求不会太多,也不会用到队列。可是如果你去写一个爬虫,肯定需要限速啥的,此时队列就是一个很有用的东西,很容易实现生产者消费者模型。Tornado官方的demo中也有一个[爬虫代码(https://github.com/tornadoweb/tornado/blob/master/demos/webspider/webspider.py)]演示如何使用队列(本篇基于v5.0.0)

阅读全文

Tornado 之gen.coroutine

发布在 Tornado

2013年Tornado3.0版本。gen.coroutine上线,直到今天它依旧是目前Tornado中使用最为广泛的装饰器。同时它也是接替gen.engine的存在。它基本去掉了gen.Task的套路。相对gen.engine而言。它只需要gen.coroutine就够了,写法上更为美观

阅读全文

ficapy

author.bio


author.job


深圳