ADSL拨号代理的搭建

前言

动态拨号vps获取代理, 这里主要是把代理服务器搭建那一步写成shell脚本封边后面搭建, 参考了崔庆才老师的文章, 写的非常详细 https://cloud.tencent.com/developer/article/1151781

开始搭建

首先是进入vps主机, 用ssh命令进入

ssh [email protected] -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池和封装接口就可以了

你可能感兴趣的:(linux,爬虫-从入坑到脱坑)