细说IPProxys

前言

前几天看了一下github上,IPProxys开源项目(https://github.com/qiyeboy/IPProxys)快100star了,看来大家对这个项目还是比较感兴趣的。最近一直没更新文章,主要是忙实验室的工作和写一个之前给大家提到新的开源项目,我将它命名为PowerProxy,写的过程中遇到了很多问题,算是一个不错的学习经历,对sock5协议,windows内核有了一定的理解。开源的日期还没确定,需要将一些关键问题解决,大家敬请期待。

看到大家对IPProxys项目挺感兴趣,下面就介绍一下它的使用方式。

IPProxys使用

项目依赖

ubuntu,debian下

  • 安装sqlite数据库: apt-get install sqlite sqlite3
  • 安装requests库: pip install requests
  • 安装lxml: apt-get install python-lxml

windows下

  • 下载sqlite,路径添加到环境变量
  • 安装requests库: pip install requests
  • 安装lxml: pip install lxml或者下载lxml windows版

如何使用

  1. 将项目目录clone到当前文件夹 $ git clone
  2. 切换工程目录 $ cd IPProxys
  3. 运行脚本 python IPProxys.py

API 使用方法

模式

GET /

参数

Name Type Description

types int 0: 高匿代理, 1 透明

protocol int 0: http, 1 https

count int 数量

country str 国家

area str 地区

例子

IPProxys默认端口为8000

如果是在本机上测试:

  1. 获取5个ip地址在中国的高匿代理:http://127.0.0.1:8000/?types=0&count=5&country=中国
  2. 响应为JSON格式,按照响应速度由高到低,返回数据: [{"ip": "220.160.22.115", "port": 80}, {"ip": "183.129.151.130", "port": 80}, {"ip": "59.52.243.88", "port": 80}, {"ip": "112.228.35.24", "port": 8888}, {"ip": "106.75.176.4", "port": 80}]

示例代码:

import requests

import json

r = requests.get('http://127.0.0.1:8000/?types=0&count=5&country=中国')

ip_ports = json.loads(r.text)

print ip_ports

ip = ip_ports[0]['ip']

port = ip_ports[0]['port']

proxies={

'http':'http://%s:%s'%(ip,port),

'https':'http://%s:%s'%(ip,port)

}

r = requests.get('http://ip.chinaz.com/',proxies=proxies)

r.encoding='utf-8'

print r.text

TODO

  1. 可自主选择添加squid反向代理服务器,简化爬虫配置
  2. 重构HTTP API接口
  3. 增加更多代理网站和数据库适配

原文发布于微信公众号 - 七夜安全博客(qiye_safe)

原文发表时间:2016-11-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏全华班

工作流学习-使用eclipse流程开发

阅读文本大概需要 5 分钟。 我们前文中介绍了Activiti,知道它是目前市面上比较流行的工作流框架。同时也简单指导大家从头开始搭建一下Activit...

3184
来自专栏phodal

如何以“正确的姿势”阅读开源软件代码

之前想过写这篇文章,但是没有想到一个好的内容、好的突破点。在《GitHub 漫游指南》指南里,我们提到过《如何在GitHub“寻找灵感(fork)”》,但是并不...

17210
来自专栏前端布道

Angular开发实践(一):环境准备及框架搭建

引言 在工作中引入Angular框架将近一年了,在这一年中不断的踩坑和填坑,当然也学习和积累了很多的知识,包括MVVM框架、前后端分离、前端工程化、SPA优化等...

3437
来自专栏JarvanMo的IT专栏

Fluwx:微信SDK在Flutter上的实现

随着 Flutter越来越火热,我相信越来越多的小伙伴都跃跃欲试。但是一个很重要的问题是,很多第三方 SDK,如微信SDK,都无法在Flutter上直接使用。...

1212
来自专栏Youngxj

自适应导航网页源码

4962
来自专栏张戈的专栏

PHP制作百度站内搜索绿色通道的网页列表数据文件

用过百度站内搜索的朋友,都知道前不久推出了一个绿色收录通道,改善站内搜索的时效性和覆盖率,说明如下: 站内搜索结果数太少?最新的页面搜不到?您可以在本页面提交数...

3897
来自专栏杨建荣的学习笔记

强大的awr format (r4笔记第14天)

awr报告对于dba而言是工作中重要的一部分内容,有些时候感觉跟去医院看病的化验单一样,各种指标和参数。有些高了,有些低了都是需要注意的内容。之前打印了一份aw...

2484
来自专栏林德熙的博客

开源项目 无需代码的代码级调试工具图片库如何检查一个pdf是否匹配一个dll界面JustinXinLiu 的项目

0xd4d/dnSpy: .NET debugger and assembly editor

521
来自专栏FreeBuf

没想到你是这样的Linux | 终端下有趣的命令合集

前言 刚开始接触Linux的我们,肯定认为Linux系统就是那种枯燥的终端界面。然而实际上Linux下的终端还是有很多种有趣的玩法~~ toilet 简介 to...

3825
来自专栏全栈

前端工程化(一)---工程目录搭建

933

扫码关注云+社区