Rufen Sie den Dateistream in der Netzwerkschnittstelle ab
Bei der PHP-Entwicklung ist es unvermeidlich, verschiedene Schnittstellen aufzurufen, und manchmal müssen viele Parameter übergeben werden.
Während der Parameterübergabe wird „&“ manchmal in „&“ geparst, was dazu führt, dass die Anfrage fehlschlägt.
Nachdem ich nach Informationen gesucht und verglichen hatte, stellte ich fest, dass PHP eine Vielzahl von Methoden bereitstellt: cUrl, fopen, file_get_contents usw. In Bezug auf Bedienbarkeit, Zuverlässigkeit und Effizienz ist cURL immer noch gut.
Referenzfälle sind wie folgt:
/**
* 获取网络接口里面的文件流
**/
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-Aufruf:
$url = "http://xxx.xxx.xxx/xxx.php?page=htnews&ps=$size&time=$time";
GetWebFileStream($url);
POST-Aufruf:
$strURL = "http://xxx.com/xxx/xxx.asmx/xxx";
$urlParams ="xxx=$xxx&top=$xxx&xxx=$xxx&xxx=$xxx";
$strJSON = GetWebFileStream($strURL,$urlParams,'post');
Die oben genannten Fälle dienen nur als Referenz. Weitere cUrl-Wissenspunkte finden Sie im PHP-Handbuch!