细说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 条评论
登录 后参与评论

相关文章

来自专栏用户2442861的专栏

解决stackoverflow打开慢不能注册登录

问题原因:并不是stackoverflow被墙,而是因为stackoverflow用了google的api,而Google在天朝是用不了的,所以才导致像stac...

2001
来自专栏java一日一条

Java 多线程处理任务的封装

最近公司项目很多地方使用多线程处理一些任务,逻辑代码和java多线程处理代码混合在一起,造成代码的可读性超级差,现在把Java多线程相关的处理抽出来,方面代码中...

794
来自专栏bboysoul

windows server 2012 安装gooderp

这是我安装的第一个erp系统,为什么选择gooderp,因为它是开源的,个人认为还是不错的一个erp系统,windows上安装完全是傻瓜式的安装。

982
来自专栏编程微刊

详解如何在vue项目中引入饿了么elementUI组件

在开发的过程之中,我们也经常会使用到很多组件库;vue 常用ui组件库: https://blog.csdn.net/qq_36538012/article/...

9611
来自专栏wannshan(javaer,RPC)

git 项目分支管理

2010年人家写的,(2010年我还不认识git)。原文在这http://nvie.com/posts/a-successful-git-branching-m...

28710
来自专栏李智的专栏

windows下安装xgboost教程

我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invi...

824
来自专栏IT技术精选文摘

网站海量数据和高并发解决方案(二)

除了数据量大,另外一个常见的问题就是并发量高,很多架构就是针对这个问题设计出来的。 1.应用和静态资源分离 刚开始的时候应用和静态资源是保存在一起的,当并发量达...

2308
来自专栏酷玩时刻

Centos 通过 Nginx 和 vsftpd 构建图片服务器

这篇文章主要介绍了Centos 通过 nginx 和 vsftpd 构建图片服务器, 需要的朋友可以参考下

1862
来自专栏蓝天

不再担心日志文件过大:通用日志滚动脚本

log_rotater.zip #!/bin/sh # https://github.com/eyjian/mooon/blob/master/mooo...

1042
来自专栏用户2442861的专栏

Cookie 和 Session 的使用简记

http://mertensming.github.io/2016/10/19/cookie-session/

712

扫码关注云+社区