前言:最近在公司做爬虫相关的工作,做过数据抓取的都知道,写程序抓取数据的过程并不像平常我们用浏览器打开网页那么简单!大多数的网站为了自己站点的性能和数据安全都设置了各种反爬策略。最常见的就是添加验证码,需要用户登陆,单个IP有次数和频率限制等等!所以广大的爬虫工程师在抓取数据之前都要先调研一下这个网站的反爬策略!当我们不能正常访问网站时,我们可以在程序中设置代理IP来判断网站是不是封禁了我们的IP。在做判断之前我们先要有一个可用的代理IP地址!
环境:阿里云CES centos6.5、tinyproxy或者squid代理软件,本地客户机
tinyproxy和squid都是比较优秀的代理软件,tinyproxy比较小众,虽然没有squid的功能丰富,但是小巧简单,也能满足我们普通yonghu的需求。squid是一款优秀的代理软件,有很丰富的ACL管理功能,虽然squid很强大,但是并不一定适合我们,下面是tinyproxy和squid的安装和使用教程!
使用tinyproxy:
安装
yum install tinyproxy
配置
vim /etc/tinyproxy/tinyproxy.conf
修改Port 端口号为你想设定的值
将Allow 选项后面的IP改成你想使用这个代理的客户机的IP,如果你想任何人都可以访问,把这行前面加个#注释一下就行了
使用
service tinyproxy stop
service tinyproxy start
service tinyproxy restart
来停止、启动、重启tinystart
将tinyproxy设置开机启动
chkconfig --level 2345 tinyproxy on
设置防火墙
iptables -I INPUT -p tcp --dport 设置的代理端口 -j ACCEPT  && service iptables save &&service iptables restart
使用squid:
1、安装
yum update
yum install squid
yum install httpd
chkconfig --level 2345 squid on
chkconfig --level 2345 httpd on
2、配置
2.1找到生成密码的htpasswd目录
find / -name htpasswd
2.2进入找到的htpasswd目录执行
./htpdpwad -c /etc/squid/password username
username换成你想设置的用户名
会车执行后会让你输入密码,确认密码!
2.3找到squid的用户验证程序
find / -name ncsa_auth
2.4修改squid的配置只让认证的用户访问
vim /etc/squid/squid.conf
添加下面内容
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/password
将上面命令中的/usr/lib/squid/ncsa_auth换成你在机器上找到的步骤2.3的目录,将/etc/squid/password密码文件换成步骤2.1生密码文件路径
继续添加下面内容:
认证程序进程数
auth_param basic children 3
认证有效时间
auth_param basic credentialsttl 2 hours
设置允许认证的用户访问
acl auth_user proxy_auth REQUIRED
http_access allow auth_user
设置允许全部用户访问
http_access allow all
设置端口号
http_port 端口号
2.5启动squid
service squidstop
service squidstart
service squidrestart

把你的Centos设置成代理ip服务器的更多相关文章

  1. 网站设置成代理后,chrome chrome HTTP ERROR 502

    在阿里云上设置CNAME代理后,发现www.xxxx.com出现502,但是http://xxxx.com却可以访问. ping了一下都可以,网上搜了搜原来和nginx.conf配置有关 配置如下,上 ...

  2. VMware下安装的CentOS7.5,设置成静态IP后ping不通外网

    网上很多都说用下面的方法即可解决 在CentOS中 ping www.baidu.com 无法ping通,可能原因是DNS没配置好 方法一: 修改vim /etc/resolv.conf 增加如下内容 ...

  3. centos设置上网代理

    假设我们要设置代理为 IP:PORT 1.网页上网网页上网设置代理很简单,在firefox浏览器下 Edit-->>Preferences-->>Advanced-->& ...

  4. Linux/CentOS设置全局代理(http)

    说明:为什么说是http代理,其实这个还不能说是全称走代理,罪名写的区别就是ICMP协议这个设置就无效,只能说是90%的应用都可以使用这个设置来实现代理访问,只有个别不行,比如一些软件根本不走http ...

  5. 怎么将linux的动态IP设置成静态IP

    例如我的eth0网卡信息如下 eth0 Link encap:Ethernet HWaddr :0C::AA:B2:CA inet addr:192.168.79.135 Bcast:192.168. ...

  6. 设置完代理IP,手机连接WiFi时连不上,一直在转

    fiddler抓包,设置代理后,会出现手机连不上网的情况,针对这个情况处理方式为: 首先如果已经连接上WiFi了,但是提示“不可上网”,那就把WiFi断开重新连接下. 不行的话就试试下面的办法 一.配 ...

  7. Centos设置网络(固定IP)

    简介 设置为桥接模式,即将虚拟机的虚拟网络适配器与主机的物理网络适配器进行交接,虚拟机中的虚拟网络适配器可通过主机中的物理网络适配器直接访问到外部网络. 配置 虚拟机设置为桥接模式 进入网络配置文件, ...

  8. selenium爬虫设置headers,代理IP等方法

    https://blog.csdn.net/xc_zhou/article/details/80823855

  9. Nginx 如何设置反向代理 多服务器,配置区分开来,单独文件保存单个服务器 server 主机名配置,通过 include 实现

    samcao 关注 2015.06.15 10:08* 字数 0 阅读 408评论 0喜欢 0   网络结构如上图.可能你只有一个公网的Ip地址. 但是您的内网有个网站需要映射至外网.而又不想添加其它 ...

随机推荐

  1. 小a和uim之大逃离

    题目传送门 #include <bits/stdc++.h> using namespace std; #define ll long long #define re register # ...

  2. CentOS6.5安装python3.7

    1.下载python3 wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz 2.解压 [root@mycentos ~]# ta ...

  3. GBDT调参总结

    一.GBDT类库弱学习器参数 二.回归 数据集:已知用户的30个特征,预测用户的信用值 from sklearn.ensemble import GradientBoostingRegressor f ...

  4. jmeter SMTP Sampler取样器发送测试结果邮件

    原理: 先用结果类监听器(用表格察看结果.聚合报告)将测试结果以csv文件保存到本地. 然后再用SMTP Sampler取样器把本地的测试结果文件发送到指定邮箱 具体步骤如下: 1.下载javamai ...

  5. centos7 cpanm安装,及perl模块安装

    1. cpan安装 yum安装 yum install perl-App-cpanminus.noarch 注意:安装完成后,root及非root用户都可以使用cpanm安装模块,root用户直接用c ...

  6. 数据加密之MD5加密

    MD5是一个安全的散列算法,有两个特点:1.输入两个不同的明文(一段原始的数字信息)不会得到相同的输出值2.根据输出值,不能得到原始的明文,即过程不可逆所以要解密MD5没有现成的算法,只能用穷举法,把 ...

  7. Error #2148

    参考:https://blog.csdn.net/watersevenmmfx/article/details/52980804 chrome flash 安全沙箱冲突 SecurityError: ...

  8. spring之继承配置

    我们有一下两个类,并且Gradate类继承了Student类 public class Student public class Gradate extends Student 在applicatio ...

  9. ModuleNotFoundError: No module named '_pydevd_bundle.pydevd_cython' error on debug

    现象:pycharm调试代码出现错误:ModuleNotFoundError: No module named '_pydevd_bundle.pydevd_cython' error on debu ...

  10. 详解 ManualResetEvent(转)

    原文:http://www.cnblogs.com/li-peng/p/3291306.html 今天详细说一下ManualResetEvent 它可以通知一个或多个正在等待的线程已发生事件,允许线程 ...