美文网首页
PHP curl 请求数据 流程

PHP curl 请求数据 流程

作者: 孤岛渔夫 | 来源:发表于2017-03-21 15:50 被阅读0次

    建立CURL的基本步骤-四步

    
    //1) 初始化
    
    $ch = curl_init();
    
    //2)设置选项,包括URL
    
    curl_setopt($ch,CURLOPT_URL,"http://www.xxx.net");
    
    //将curl_exec()获取的信息以文件流的形式返回,而不是直接输出
    
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    
    //启用时会将头文件的信息作为数据流输出
    
    curl_setpot($ch,CURLOPT_HEADER,1);//很多时候不需要header头,设置为0,或者不设置(默认为0)
    
    //3)执行并获取HTML文档内容
    
    $output = curl_exec($ch);
    
    //4)释放curl句柄
    
    curl_close($ch);
    
    //输出
    
    echo $output;
    
    

    项目跨域一般操作流程

    以ThinkPHP为例

    第一步:在需要获取数据的文件里做curl请求请求地址为你需要跨域的地址。(一般第三方都会给请求的demo)

    • 如果用第三方接口,可以直接拿到数据后做处理就行*

    第二步:在跨域地址的文件里,进行数据操作。一般是用POST传值。

    然后将处理好的数据返回

    
    //这个函数的功能是将数值转换成json数据存储格式。JSON_UNESCAPED_UNICODE是防止一些中文变成乱码
    echo json_encode($res,JSON_UNESCAPED_UNICODE);
    

    第三步:在第一步 需要获取数据的文件里

    将结果解析$data = json_decode($res,true);
    然后就根据需求在搞事情

    大致流程就是这样

    下面是封装好的curl请求函数

    //如果提示跨域 就可以在config 里设置 header头 允许全部跨域
    header("Access-Control-Allow-Origin: *");
    
    functionpost_api($url,$data)
    
    {
    
    //post 请求接口(公用)
    
    $ch = curl_init();//初始化curl
    
    curl_setopt($ch,CURLOPT_URL,$url);//抓取指定网页
    
    curl_setopt($ch,CURLOPT_HEADER,0);//设置header
    
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//要求结果为字符串且输出到屏幕上
    
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);//这个是重点。
    
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);// https请求 不验证证书和hosts
    
    curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);
    
    curl_setopt($ch,CURLOPT_POST,1);//post提交方式
    
    curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
    
    $flag = curl_exec($ch);//运行curl
    
    curl_close($ch);
    
    return $flag;
    
    }
    

    如果遇到 跨域问题,可以设置header头 信息
    header("Access-Control-Allow-Origin: *");

    相关文章

      网友评论

          本文标题:PHP curl 请求数据 流程

          本文链接:https://www.haomeiwen.com/subject/iqjgnttx.html