> 백엔드 개발 > PHP 튜토리얼 > PHP 获取网络接口文件流

PHP 获取网络接口文件流

WBOY
풀어 주다: 2016-06-23 13:46:25
원래의
1848명이 탐색했습니다.

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

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手册!



원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿