问答 / 0 / 8 / 创建于 1年前
<?php $url = 'http://xxx.cn/'; $res = file_get_contents($url); var_dump($res);
url是一个不能访问的页面,以上代码在本地是返回false的,但放到url所在的服务器上,却可以返回页面的内容,请问是为什么呢?是想监听服务器上有哪些页面打不开的
服务器的Hosts是不是和本地不一样
服务器的hosts是默认的,是不一样但没有对url做过其他指向。服务器和本地的ping出来都是指向同一IP的,经过多番测试,好像是服务商的问题。例如:url之前是可以正常访问的,但由于备案过期,或者把url的域名从白名单中删除,浏览器访问不了,但服务器中file_get_contents还可以获取到之前的内容
nginx做检测或者代码检测host了吧,防爬虫
用 curl 模拟浏览器请求吧, 可以带上必要参数
各种请求头
@kis龍 浏览器不能打开,在服务器上file_get_contents可以拿到内容,curl模拟也可以拿到内容
我要举报该,理由是:
服务器的Hosts是不是和本地不一样
nginx做检测或者代码检测host了吧,防爬虫
用 curl 模拟浏览器请求吧, 可以带上必要参数
各种请求头