ネットワークインターフェースでファイルストリームを取得します
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; }
$url = "http://zhibo.fx678.com/index.php?page=htnews&ps=$size&time=$time"; GetWebFileStream($url);
$strURL = "http://reschart.fx678.com/fx678dataWebService/UpdateDataContext.asmx/GetWillAndPublishedDateS";$urlParams ="willtop=$willSize&top=$size&Clientdate=$clientDate&Key=$md5_key";$strJSON = GetWebFileStream($strURL,$urlParams,'post');