获取https的header Warning: get_headers(): SSL: Handshake timed out

女生的网名这么多〃 提交于 2020-03-17 12:11:02

某厂面试归来,发现自己落伍了!>>>

修改php.ini 中 默认设置 一般是-1

default_socket_timeout = 360

请求不了数据 ,抓取https的数据

function getRealUrl($url){
    stream_context_set_default( [
        'ssl' => [
            'verify_host' => false,
            'verify_peer' => false,
            'verify_peer_name' => false,
        ],
    ]);
    $header = get_headers($url,1);
    if (strpos($header[0],'301') || strpos($header[0],'302')) {
        if(is_array($header['Location'])) {
            return $header['Location'][count($header['Location'])-1];
        }else{
            return $header['Location'];
        }
    }else {
        return $url;
    }
}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!