一个很奇怪,有意思的接口反爬策略

6 小时 20 分钟前
 dearmymy
一个简单的 get 请求,ua ,ip 代理什么都有
使用 request 库请求。
一个 python 进程,连续请求 20 次都没问题,精准 21 次就拒绝。
关键是重启脚本进程,又可以了,还是 21 次精准发现。

现在高度怀疑是不是 request 里对同一个 url 请求 tcp 进行的端口复用?网上找写方法每次起新 http 请求代码都没有效果。
20 次重启一次也是 ok ,主要这种策略第一次见到,感觉是 tcp tls 那边做了手脚。如果可行 也是个不错的反爬策略。

求一些思路。
1595 次点击
所在节点    Python
13 条回复
RaMa291041610
6 小时 15 分钟前
zeusho871
6 小时 14 分钟前
tls 指纹
dearmymy
6 小时 12 分钟前
@RaMa291041610
@zeusho871 感谢彦祖么,第一次遇到这个。。
kdwnil
6 小时 3 分钟前
写爬虫遇过这种策略,就是单个 tcp 连接有 http 请求次数限制,解决办法也只能请求次数差不多时起一个新的 http client ,不过我是 golang 不太清楚 python 要怎么做
cowcomic
6 小时 3 分钟前
试了一下,同一个 python 脚本,即使重启,request 的 ja3 和 ja4 也是不变的
咋通过这个区分请求进程的呢?
defaw
6 小时 2 分钟前
你开 http keep-alive 了?每次都用新的连接试试
cccer
6 小时 0 分钟前
你是不是忽略的 cookies
dearmymy
5 小时 46 分钟前
@kdwnil 我感觉就是这个问题, 只不过 python request 库可能不好操作,还是复用了 tcp 。奇怪就是重启就可以继续。
dearmymy
5 小时 45 分钟前
@cowcomic 感觉不是指纹,现在高度怀疑,http 复用了 tcp 连接。或者哪里没搞明白
dearmymy
5 小时 44 分钟前
@defaw 感觉这个问题,网上找半天代码设置都没效果,在找找
dearmymy
5 小时 44 分钟前
@cccer 压根没 cookie
xdeng
5 小时 43 分钟前
tcp 的序列号?
kdwnil
5 小时 31 分钟前
@dearmymy 因为重启时原有的 tcp 连接都断开了,又重新建立了新的连接

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1079960

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX