搭建本地代理服务器
最近在帮人爬一个接口,一开始没感觉什么,可能接口调的频繁了,ip好像被ban了,一直响应200但是接口没数据了。刚开始修改Content-Type还能绕过获取到数据,后期也不行了,只能自己搭建一个本地代理服务器,用本地代理ip代替本地的电脑去访问
大概流程
使用docker,首先安装docker desktop
,打开
在本地创建一个目录为squid-config
创建一个conf
内容为
# 基本配置:监听端口和访问控制
http_port 3128# 允许本地网络访问(根据需要调整)
acl local_net src 192.168.0.0/16
acl local_net src 172.16.0.0/12
acl local_net src 10.0.0.0/8
acl local_net src fc00::/7
acl local_net src fe80::/10# 允许本地主机访问
acl localhost src 127.0.0.1/32# 允许所有连接(简单起见,生产环境需严格限制)
http_access allow local_net
http_access allow localhost
http_access allow all# 缓存设置(可选,简单代理可关闭缓存)
cache deny all# 日志设置
access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log# 隐藏客户端IP(可选)
forwarded_for delete# 允许CONNECT方法(用于HTTPS)
acl SSL_ports port 443
acl CONNECT method CONNECT
http_access allow CONNECT SSL_ports
拉取squid
并运行,在当前目录下启动并将配置文件挂载到
docker run -d `--name squid-proxy `-p 3128:3128 `-v squid.conf:/etc/squid/squid.conf `--restart unless-stopped `ubuntu/squid:latest
然后测试一下,访问通就ok了
curl -x http://localhost:3128 http://www.google.com