
想获取远程url的东西需要先判断
function get_url_contents($url)
{
//先判断allow_url_fopen是否打开,如果打开则用file_get_contents获取,如果没打开用curl_init获取
if (ini_get("allow_url_fopen") == "1")
return file_get_contents($url);
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_URL, $url);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
因为,PHP CURL库默认1024字节的长度不等待数据的返回,所以你那段代码需增加一项配置:
curl_setopt($ch, CURLOPT_>
最近在做服务器迁移, 之前是直接使用阿里云的slb 随着业务的发展以及稳定性要求, 决定对服务器进行升级, 同时对业务进行拆分, 经过多种考虑最后使用slb+nginx路由方案
前端使用slb的tcp监听, 开启会话保持 ecs上配置nginx进行二次转发
浏览器访问一切正常, 也没有用户报任何使用问题
就这样无风无雨的过了一天, 第二天业务人员报微信支付数据异常, 转账成功, 转账标识显示失败
开发人员开始进行排查, 发现服务器可以正常接收微信回调, 不过服务器间调用出现异常
后台日志显示: javanetConnectException: Connection timed out
我开始查看nginx日志, 发现没有找到请求日志, 怀疑是nginx问题, 使用curl请求ecs, 返回值正常, 使用curl请求外网域名, curl无反馈, 看来问题出现在阿里云的slb上面
去网上搜了搜, 还真有人遇到同样的问题, 只是标题是不是很一致
解决方案是将slb的tcp监听改为>
获取请求头信息,可以在curl_exec函数执行前,添加代码curl_setopt($ch,CURLINFO_HEADER_OUT,true);在curl_exec函数执行后,通过 curl_getinfo($ch,CURLINFO_HEADER_OUT) 来获取curl执行请求的请求数据。
获取响应头信息,可以在curl_exec函数执行前,添加代码 curl_setopt($ch, CURLOPT_HEADER, true);curl_setopt($ch, CURLOPT_NOBODY,true); 之后 通过curl_exec函数来获取响应头信息。获取设置 curl_setopt($ch, CURLOPT_NOBODY,false);然后对curl_exec获取的值通过\r\n\r\n进行分割截取第一部分即为响应头信息。
用域名访问的时候捏,首先服务器要去找到域名对应的IP,从访问来讲,最后还是用IP访问的,超时的话应该DNS解析这个域名的时候超时了,要不就是你的DNS有问题,你换一个DNS试试,要不就是你的这个域名不对,你试下直接解析
nslookup baiducom
上面命令可以直接将解析的Ip返回的,
nslookup baiducom 180767676
这条后面是指定用哪个DNS解析,如果不加就是用本机指定的DNs解析的
方法1、
$text = file_get_contents($URL);
方法2、
function get_URL($url)//获得url地址的网页内容{$ch = curl_init();$timeout = 5;curl_setopt ($ch, CURLOPT_URL,$url);curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);$file_contents = curl_exec($ch);curl_close($ch);return $file_contents;}
$text = get_URL($URL);
程序没问题,能得到网页内容并输出。
有可能是你的 xxxphp 没有重定向成功。
如果在Linux下,可以先用
wget >
以上就是关于php file_get_contents(url)在本地测试可以获取到远程url的内容,但上传至服务器后返回的确实空的值全部的内容,包括:php file_get_contents(url)在本地测试可以获取到远程url的内容,但上传至服务器后返回的确实空的值、怎么获取通过curl get方式获取的数据、阿里云slb+nginx配置curl无法获取url问题小记等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)