Skip to content

Repository files navigation

IPProxy

目前项目中使用的代理网站有:

项目中提供获取IP地址的接口为 POST /get_ip,使用的参数如下

typeparamstruct {
Numint64`form:"num"`// 数量Sort bson.M`form:"sort"`// 排序方式,与mongodb中的一致Filter bson.M`form:"filter"`// 过滤条件,和mongodb的过滤一致
}

使用Postman测试如下

Postman

{
"num": 100,
"sort": {
"response_speed": 1,
"verify_time": -1
},
"filter": {
"response_speed": {
"$ne": -1
}
}
}

强烈建立在使用的时候参数在上述的sort和filter参数进行扩展,以免获取到的IP可用率比较低

配置文件如下

# 数据库配置database:
mongodb:
username: "Edgar"# 数据库用户名password: "Edgar"# 密码db: "IP"# 数据库名称collection: "ip"# 保存爬取到的ip集合host: "127.0.0.1"# 数据库主机号port: "27017"# 数据库端口# 日志配置log:
mode: "console"# console 或者 file,只有设置mode为file的时候filename才生效level: "info"# 或者 debug, trace, warning, errorfilename: "proxy.log"# 日志文件名max-size: 5# MB为单位,当文件达到这个大小之后更换另一个日志文件,暂无实现# 定时任务配置schedule:
interval: 10# 以小时为单位,管理定时任务# 接口配置api:
host: "127.0.0.1"port: "8000"

请注意设置集合ip的索引如下

db.ip.createIndex({"ip":1}, {"unique":true})
db.ip.createIndex({ "response_speed": 1 })

如果需要使用二进制文件比如proxy_server.exe,请在与proxy_server.exe同目录下新建一个上述格式的配置文件,命名必须为config.yaml

如下图格式,然后在当前目录下运行proxy_server.exe即可

exe

测试

可以使用下面的命令行进行测试

curl --proxy host:port www.baidu.com

docker 运行

docker-compose up 

LICENSE

开源免费使用,本人不承担任何因此造成的法律责任

About

Go爬取大量代理IP,存储于MongoDB,api接口提供IP

Topics

Resources

Stars

27 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages