码迷,mamicode.com
首页 > Web开发 > 详细

使用 mitmdump 进行 selenium webDriver绕过网站反爬服务的方法 pdd某宝 可用

时间:2019-12-18 12:36:17      阅读:282      评论:0      收藏:0      [点我收藏+]

标签:java   content   ini   can   color   tmp   javascrip   fine   cat   

安装:  pip install  mitmproxy

新建一个脚本

脚本代码:

 1 from mitmproxy import ctx
 2 
 3 injected_javascript = ‘‘‘
 4 // overwrite the `languages` property to use a custom getter
 5 Object.defineProperty(navigator, "languages", {
 6   get: function() {
 7     return ["zh-CN","zh","zh-TW","en-US","en"];
 8   }
 9 });
10 // Overwrite the `plugins` property to use a custom getter.
11 Object.defineProperty(navigator, ‘plugins‘, {
12   get: () => [1, 2, 3, 4, 5],
13 });
14 // Pass the Webdriver test
15 Object.defineProperty(navigator, ‘webdriver‘, {
16   get: () => false,
17 });
18 // Pass the Chrome Test.
19 // We can mock this in as much depth as we need for the test.
20 window.navigator.chrome = {
21   runtime: {},
22   // etc.
23 };
24 // Pass the Permissions Test.
25 const originalQuery = window.navigator.permissions.query;
26 window.navigator.permissions.query = (parameters) => (
27   parameters.name === ‘notifications‘ ?
28     Promise.resolve({ state: Notification.permission }) :
29     originalQuery(parameters)
30 );
31 ‘‘‘
32  
33 def response(flow):
34     # Only process 200 responses of HTML content.
35     if not flow.response.status_code == 200:
36         return
37  
38     # Inject a script tag containing the JavaScript.
39     html = flow.response.text
40     html = html.replace(<head>, <head><script>%s</script> % injected_javascript)
41     flow.response.text = str(html)
42     ctx.log.info(插入成功 )
43  

然后运行mitmdump 

mitmdump -s xxxx.py 

默认为8080端口,将webDriver设置代理127.0.0.1:8080

然后就能监听和修改selenium特征了。

使用 mitmdump 进行 selenium webDriver绕过网站反爬服务的方法 pdd某宝 可用

标签:java   content   ini   can   color   tmp   javascrip   fine   cat   

原文地址:https://www.cnblogs.com/dayouzi/p/12059102.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!