php curl 異步,php 訪問url curl,推薦PHP一個用CURL訪問URL的函數

 2023-10-05 阅读 27 评论 0

摘要:推薦PHP一個用CURL訪問URL的函數其實,php訪問url的方式有好幾種,這里只介紹其中一種curl方式,覺得有用的就收藏。/*** curl發送HTTP請求方法* @param $url* @param string $method* @param array $params* @param array $header* @p

推薦PHP一個用CURL訪問URL的函數

其實,php訪問url的方式有好幾種,這里只介紹其中一種curl方式,覺得有用的就收藏。

/**

* curl發送HTTP請求方法

* @param $url

* @param string $method

* @param array $params

* @param array $header

* @param int $timeout

* @param bool|false $multi

* @return mixed

* @throws Exception

*/

static public function curlHttp( $url, $method = 'GET', $params = array(), $header = array(),

$timeout = 30, $multi = false ) {

$curl = curl_init();

curl_setopt( $curl, CURLOPT_TIMEOUT, $timeout );

curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true );

curl_setopt( $curl, CURLOPT_SSL_VERIFYPEER, false );

curl_setopt( $curl, CURLOPT_SSL_VERIFYHOST, false );

curl_setopt( $curl, CURLOPT_HTTPHEADER, $header );

switch ( strtoupper( $method ) ) {

case 'GET':

if ( !empty( $params ) ) {

$uri = parse_url( $url );

$url .= ( empty( $uri[ 'query' ] ) ? '?' : '&' ) . http_build_query( $params );

}

curl_setopt( $curl, CURLOPT_URL, $url );

break;

case 'POST':

curl_setopt( $curl, CURLOPT_URL, $url );

curl_setopt( $curl, CURLOPT_POST, true );

$params = $multi ? $params : http_build_query( $params ); //判斷是否傳輸文件

curl_setopt( $curl, CURLOPT_POSTFIELDS, $params );

break;

default:

throw new Exception( '不支持的請求方式!' );

}

$response = curl_exec( $curl );

$error = curl_error( $curl );

curl_close( $curl );

if ( $error ) {

throw new Exception( '請求發生錯誤:' . $error );

}

return $response;

}

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/115408.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息