前言
动态拨号vps获取代理, 这里主要是把代理服务器搭建那一步写成shell脚本封边后面搭建, 参考了崔庆才老师的文章, 写的非常详细 https://cloud.tencent.com/developer/article/1151781
开始搭建
首先是进入vps主机, 用ssh命令进入
ssh root@127.0.0.1 -p 22
进入主机后找到拨号初始化的shell脚本, 一般都是在后面带上账号密码参数, 我的这台脚本名是 p.sh
sh ./p.sh 宽带账号 宽带密码
成功之后就可以进行拨号了, 注意拨号之前网络没有联通, 是ping不通任何网站
# 开始拨号
adsl-start
# 停止拨号
adsl-stop
# 重播
adsl-stop; adsl-start
拨通成功后就可以试着ping一下看是否联通
ping baidu.com
连通后就可以进行代理服务器的设置了, 执行我下面的shell脚本就可以了
#!/bin/bash
echo " 安装 TinyProxy"
yum install -y epel-release
yum update -y
yum install -y tinyproxy
echo " 配置 TinyProxy, 允许任何主机连接"
sed -i "s/Allow 127.0.0.1/#Allow 127.0.0.1/g" /etc/tinyproxy/tinyproxy.conf
echo " 配置 完成, 重启代理服务"
systemctl enable tinyproxy.service
systemctl restart tinyproxy.service
echo " 防火墙开启 8888 端口供使用"
iptables -I INPUT -p tcp --dport 8888 -j ACCEPT
echo " 开始拨号服务, 获取当前ip"
adsl-start
curl http://httpbin.org/ip
执行完成后测试一下代理使用, 把上面的ip获取到放到下面命令里就可以了
curl -x IP:8888 httpbin.org/get
也可以写个python脚本本地测试
"""
@author xiaofei
@date 2019-07-16
@desc 测试拨号代理的使用
"""
import requests, time
url = "http://httpbin.org/ip"
proxy = f"{IP}:8888"
proxies = {
'http': 'http://' + proxy,
'https': 'https://' + proxy
}
start = time.time()
res = requests.get(url)
print(f"无代理请求, {time.time()-start}", res.text)
start1 = time.time()
res = requests.get(url, proxies=proxies)
print(f"有代理请求, {time.time()-start1}", res.text)
ok, 这就完成了, 然后后面再根据自己的业务构建IP池和封装接口就可以了