第一次遇到一件怪事, 用 curl 写了一个获取任意网站标题的程序, 先前在本地测试,服务器测试都正常, 但是今天偶然获取一个网址时却导致网站被重置 2 分钟,期间就像服务器 IP 被墙了一样,2 分钟后网站恢复正常,测试获取其它网站又没问题 。 我又在本地测试获取要被重置的网站,也能正常获取到, 但是在服务器上却一访问就提示连接被重置(需要获取的网站能正常访问) ,如果将服务器 ip ssh 代理访问该网站, 然后访问其他网站也会出现连接被重置,不过网站能正常访问,这是为什么呢?
![]() | 1 basstk 2018-08-30 10:28:04 +08:00 应该是服务器问题,我的阿里云服务器,上午有时候也这样,一段时间反应特慢 |
![]() | 3 delectate 2018-08-30 10:50:51 +08:00 太频繁了吧,也许是被防火墙 ban 了,也许是你机房问题。 |
4 chaodada 2018-08-30 10:50:59 +08:00 代码贴一下大伙研读研读 |
5 eopdsm OP @chaodada <?php error_reporting(0); header('Content-type: application/json'); $url=$_SERVER["QUERY_STRING"]; $url =str_ireplace("url=","",$url); if($url){ $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HEADER, 0); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_TIMEOUT, 5); $data = curl_exec($curl); curl_close($curl); $encode = mb_detect_encoding($data, array("ASCII",'UTF-8',"","GBK",'BIG5')); $data = mb_convert_encoding($data, "utf-8", $encode); preg_match("/<title(.*?)>(.*?)<\/title>/i",$data,$title); $title = $title[2]; } if($title){ $arr = array("msg"=>"succes","title"=>$title); }else{ $arr = array("msg"=>"error"); } echo json_encode($arr); ?> |
6 eopdsm OP |
9 chaodada 2018-08-30 11:19:30 +08:00 @eopdsm http://demo.19year.cn/ 服务器是可以的 |
10 eopdsm OP @chaodada 额 , 我换了搬瓦工两台 vps, 还有个美国的 cpanel 空间测试都出现连接被重置,  ̄□ ̄|| |
11 chaodada 2018-08-30 11:21:49 +08:00 感情全是国外的。。。 |
12 chaodada 2018-08-30 11:22:05 +08:00 我试试我的香港阿里云 |
14 chaodada 2018-08-30 11:52:00 +08:00 香港的也重置 ... |
15 chaodada 2018-08-30 11:54:05 +08:00 我又试了一下台湾的 win 系统 谷歌浏览器打开直接显示重置 浏览器也打不开 |
18 eopdsm OP @chaodada 提示:Failed to connect to 127.0.0.1 port 1080: Connection refused, 然后程序就罢工了, 什么网址都不行了 |
19 chaodada 2018-08-30 13:31:44 +08:00 ....我测试使用 curl 代理一直没成功过、、、 |
![]() | 20 yongjing 2018-08-30 13:56:15 +08:00 这个网站,翻墙是访问不了的,限制国外 ip 访问了吧 |
![]() | 23 SukkaW 2018-08-30 14:17:29 +08:00 这个网站有安全狗。你用浏览器打开 http://www.fznc.org/newslist.aspx?page=1&nc_id=8 都会触发 WAF |