zoukankan      html  css  js  c++  java
  • PHP 获取网络接口文件流

    获取网络接口里面的文件流

    php开发调用各种接口在所难免,有时须要传递非常多參数。

    在传递參数过程中 '&' 有时会被 解析成 ‘&’导致请求失败

    经过查找资料和比較,发现php提供了多种方法:cUrl、fopen、file_get_contents等,就操作性、可靠性和高效来说 cURL还是不错的。

    參考案比例如以下:

        /**
         * 获取网络接口里面的文件流
         **/
        public function GetWebFileStream($strUrl,$urlParams = '',$type = 'get'){
            $stream = "";
            if(!isset($strUrl) || empty($strUrl))
                return "";
    
    
            //初始化
            $ch = curl_init();
            if($type === 'post'){
                curl_setopt_array($ch,[
                    CURLOPT_URL              => $strUrl,
                    CURLOPT_RETURNTRANSFER  => 1,
                    CURLOPT_POST             => 1,
                    CURLOPT_HEADER           => 0,
                    CURLOPT_POSTFIELDS      => $urlParams
                ]);
            }
            else{
                curl_setopt_array($ch,[
                    CURLOPT_URL              => $strUrl,
                    CURLOPT_RETURNTRANSFER  => 1,
                    CURLOPT_HEADER           => 0
                ]);
            }
    
    
            //输出结果
            $stream = curl_exec($ch);
    
    
            //推断curl请求是否超时
            if(curl_errno($ch)){
                $stream = file_get_contents($strUrl);
            }
    
    
            //关闭
            curl_close($ch);
    
            return $stream;
        }

    GET调用:

     $url = "http://zhibo.fx678.com/index.php?

    page=htnews&ps=$size&time=$time"; GetWebFileStream($url);

    POST调用:

    $strURL = "http://reschart.fx678.com/fx678dataWebService/UpdateDataContext.asmx/GetWillAndPublishedDateS";
    $urlParams ="willtop=$willSize&top=$size&Clientdate=$clientDate&Key=$md5_key";
    
    $strJSON = GetWebFileStream($strURL,$urlParams,'post');
    以上案例仅供參考,很多其它cUrl 知识点请參考php手冊!



  • 相关阅读:
    超棒的监控工具 DataDog Splunk 日志易
    API 接口设计 原则
    程序员 架构师 成长 设计 原则
    OAM 继续演进:阿里云携手微软与 Crossplane 社区发布 OAM Kubernetes 标准实现与核心依赖库
    首席架构师 码农总结 互联网整体解决方案
    《不抱怨的世界2》 读后感
    适合开发者的最佳Linux发行版
    大数据 消息 日志
    CRM 线索来源 获客方式
    微服务开发过程中需要注意的若干事项_逍遥子曰
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/6786037.html
Copyright © 2011-2022 走看看