大神帮忙看下这是什么情况, 太奇怪了

2018-08-30 10:18:01 +08:00
 eopdsm

第一次遇到一件怪事, 用 curl 写了一个获取任意网站标题的程序, 先前在本地测试,服务器测试都正常, 但是今天偶然获取一个网址时却导致网站被重置 2 分钟,期间就像服务器 IP 被墙了一样,2 分钟后网站恢复正常,测试获取其它网站又没问题 。 我又在本地测试获取要被重置的网站,也能正常获取到, 但是在服务器上却一访问就提示连接被重置(需要获取的网站能正常访问) ,如果将服务器 ip ssh 代理访问该网站, 然后访问其他网站也会出现连接被重置,不过网站能正常访问,这是为什么呢?

3357 次点击
所在节点    PHP
24 条回复
basstk
2018-08-30 10:28:04 +08:00
应该是服务器问题,我的阿里云服务器,上午有时候也这样,一段时间反应特慢
eopdsm
2018-08-30 10:43:43 +08:00
@basstk 我又换了一台 vps 测试也遇到相同情况, 很费解
delectate
2018-08-30 10:50:51 +08:00
太频繁了吧,也许是被防火墙 ban 了,也许是你机房问题。
chaodada
2018-08-30 10:50:59 +08:00
代码贴一下大伙研读研读
eopdsm
2018-08-30 11:11:46 +08:00
@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',"GB2312","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);

?>
eopdsm
2018-08-30 11:13:04 +08:00
eopdsm
2018-08-30 11:13:51 +08:00
@delectate 是第一次访问就要被重置, 其它网址没什么问题, 代码和有问题的网址在上面哈
chaodada
2018-08-30 11:17:56 +08:00
@eopdsm 我在本地测试你的代码正常 ,我去我的服务器测试一次啊
chaodada
2018-08-30 11:19:30 +08:00
@eopdsm http://demo.19year.cn/ 服务器是可以的
eopdsm
2018-08-30 11:21:02 +08:00
@chaodada 额 , 我换了搬瓦工两台 vps, 还有个美国的 cpanel 空间测试都出现连接被重置,  ̄□ ̄||
chaodada
2018-08-30 11:21:49 +08:00
感情全是国外的。。。
chaodada
2018-08-30 11:22:05 +08:00
我试试我的香港阿里云
eopdsm
2018-08-30 11:24:06 +08:00
@chaodada 意思是他这个网站不允许国外访问 , 能做到只要是国外 ip, 就把网站弄罢工吗[惊恐]
chaodada
2018-08-30 11:52:00 +08:00
香港的也重置 ...
chaodada
2018-08-30 11:54:05 +08:00
我又试了一下台湾的 win 系统 谷歌浏览器打开直接显示重置 浏览器也打不开
eopdsm
2018-08-30 11:55:42 +08:00
@chaodada 真是奇怪了, 他这个网站限制国外 ip 访问 , 但是怎么做到的把服务器弄罢工的哦
chaodada
2018-08-30 12:10:35 +08:00
@eopdsm 你试试 php curl 用代理请求试试
eopdsm
2018-08-30 12:38:12 +08:00
@chaodada 提示:Failed to connect to 127.0.0.1 port 1080: Connection refused, 然后程序就罢工了, 什么网址都不行了
chaodada
2018-08-30 13:31:44 +08:00
....我测试使用 curl 代理一直没成功过、、、
yongjing
2018-08-30 13:56:15 +08:00
这个网站,翻墙是访问不了的,限制国外 ip 访问了吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/484465

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX