文章目录
关闭/开启WebRTC
背景
经常有使用selenium的同学在访问网页的过程中发现,程序跑着跑着就被服务器给ban了。
当然对于一般情况下,咱们加个代理继续跑,没毛病。
然后跑着跑着又被封了。
纳尼?开始灵魂发问:
- 是浏览器里关于webdriver的痕迹没有清除?
- 是因为canvas指纹识别真实用户?
- 还是时区和地理位置不一致?
- 其他等等…
今天我们来说另外一种可能,就是其实你加上了代理也等于白加了 因为网页使用了一种叫WebRTC的技术识别出了你本地电脑真实IP
什么是WebRTC
参考维基百科解释webrtc:
WebRTC,名称源自网页即时通信(英语:Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API。它于2011年6月1日开源并在Google、Mozilla、Opera支持下被纳入万维网联盟的W3C推荐标准[2][3][4]。
我翻译一下:
- 说人话就是说浏览器内置了一些API接口,这些API可以用来方便一些网站进行实时通信类的功能开发,比如语音、视频等流媒体网站
- 既然是浏览器接口,网站前端js代码可以直接调用这些浏览器接口,具体js接口大家可以去搜索
- 使用webrtc技术的网站js调用浏览器接口是绕过浏览器代理直接与webrtc服务器建立tcp或者udp