博客列表 >curl封装

curl封装

夏日的烈风的博客
夏日的烈风的博客原创
2018年08月14日 14:48:10633浏览

function http( $url, $method = 'GET', array $postfields = array(), array $headers = array() ){

    $ci = curl_init();

    /* Curl settings */

    curl_setopt( $ci, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0 );

    curl_setopt( $ci, CURLOPT_CONNECTTIMEOUT, 30 );

    curl_setopt( $ci, CURLOPT_TIMEOUT, 30 );

    curl_setopt( $ci, CURLOPT_RETURNTRANSFER, true );

    curl_setopt( $ci, CURLOPT_ENCODING, 'gzip' );

    curl_setopt( $ci, CURLOPT_FOLLOWLOCATION, true );

    curl_setopt( $ci, CURLOPT_MAXREDIRS, 5 );

    curl_setopt( $ci, CURLOPT_SSL_VERIFYPEER, false );

    curl_setopt( $ci, CURLOPT_HEADER, false );


    switch( strtoupper( $method ) )

    {

        case 'POST':

            curl_setopt( $ci, CURLOPT_POST, true );

            if ( !empty( $postfields ) )

            {

                curl_setopt( $ci, CURLOPT_POSTFIELDS, http_build_query( $postfields ) );

            }

            break;

        case 'DELETE':

            curl_setopt( $ci, CURLOPT_CUSTOMREQUEST, 'DELETE' );

            if ( !empty( $postfields ) )

            {

                $url = "{$url}?" . http_build_query( $postfields );

            }

            break;

        case 'GET':

            if ( !empty( $postfields ) )

            {

                $url = "{$url}?" . http_build_query( $postfields );

            }

            break;

    }

    

    curl_setopt($ci, CURLOPT_URL, $url );

    curl_setopt($ci, CURLOPT_HTTPHEADER, $headers );

    curl_setopt($ci, CURLINFO_HEADER_OUT, true );

    

    $response = curl_exec( $ci );

    curl_close ($ci);

    return $response;

}


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议