记一次linux配置代理

之前这段代码是可以抓到数据的

$url = 'https://huodong.x.com/aa/bb?v=2&flsrc=alipay_mini_app';
$refer = 'https://2018082861122674.x.y-eco.com/2018082861122674/0.2.2007272036.42/index.html#pages/buyZero/buyZero?scene_id=1631';
$ua = 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/17C54 Ariver/1.0.11 AliApp(AP/10.1.90.8000) Nebula WK RVKType(0) AlipayDefined(nt:WIFI,ws:375|603|2.0) AlipayClient/10.1.90.8000 Language/zh-Hans NebulaX/1.0.0';
$x = shell_exec('curl -H "User-Agent: '.$ua.'" -H "Referer: '.$refer.'" --compressed "'.$url.'"');
$arr = json_decode($x, true);

也许是执行频繁导致IP被封了,所以就像自己用另外一台服务器代理一下

安装tinyproxy

yum install tinyproxy

vi /etc/tinyproxy/tinyproxy.conf

Port 8888 //预设是8888 Port,你可以更改

Allow 127.0.0.1 //将127.0.0.1改成你自己的IP

//Allow 192.168.1.0/24    #表示一个网络的IP

//例如你的IP 是1.2.3.4,你改成Allow 1.2.3.4,那只有你才可以连上这个Proxy

//若你想任何IP都可以连到Proxy在Allow前面打#注释

以上代码源于网络,我也是这样配置的
Allow给的IP一定给对,我就是因为这个写错,导致一直不成功

启动与重启

/bin/systemctl restart tinyproxy.service

阿里云服务器新增一个安全组规则,把代理的端口放进去
如果使用了宝塔,也需要再 安全-加入端口
如果出错最好通过代理日志 查看,

tail -f /var/log/tinyproxy/tinyproxy.log

更改PHP 代码

$x = shell_exec('curl --proxy 139.198.151.71:8800 -H "User-Agent: '.$ua.'" -H "Referer: '.$refer.'" --compressed "'.$url.'"');
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
代码是工作之余写的,代码分为转发服务器和代理服务器 先说转发服务器 转发服务器其实也可以说成是重定向服务器,比如转发服务器监听80端口,如果有浏览器用户访问服务器IP(浏览器默认请求80端口),转发服务器接收到浏览器用户的请求后,便把浏览器用户的请求重定向到本机的其它端口或者处于同一网段其它机器的指定端口 再说一下代理服务器 先说明一下,我这个代理服务器只能代理指定的网站或其它可以代理的客户,比如建在内网的SVN服务或者有些地方不能访问的外网网站。 代理服务器分为服务器端和客户端,服务器端需要运行在客户端和大家都能访问的外网上,客户端需要放在能访问到需要代理的客户的网络上,也可以放在客户的本机上。 用法: 解压proxy.tar.gz 进入proxy目录,然后make,会生成三个我们需要的程序,transmit(转发服务器)、manager(代理服务器端)、client(代理客户端) 服务器端用法: ./transmit [端口](比如80) ./manager [端口](随便指定) 客户端用法: ./client -i [代理服务器IP]:[端口] -t [客户IP]:[端口] -d [客户域名] 举例: 假如我的外网服务器IP为1.2.3.4,代理的客户为网易(网易域名:www.163.com,IP:202.108.9.33) 服务器端如下运行 ./transmit 80 ./mananger 8000 客户端如下运行 ./client -i 1.2.3.4:8000 -t 202.108.9.33 -d www.163.com 或 ./client -i 1.2.3.4:8000 -t 202.108.9.33:80 -d www.163.com 然后在本机hosts文件(windows是c:windowssystem32driversetchosts linux是/etc/hosts)填加如下一行 1.2.3.4 www.163.com 这时在浏览器里敲www.163.com就可以通过代理服务器访问网易了 当然如果客户是自己申请域名,就可以直接把自己的域名指向1.2.3.4,而不用修改本机hosts文件了

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值