首页 > 代码库 > PHP 获取网络接口文件流
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手册!
PHP 获取网络接口文件流
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。