推薦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;
}
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态