远程请求

function simpleRequest( $url , $post_data = array() ,$option=array())
{/*{{{*/
        //使用http_build_query拼接post
        if ( '' == $url )
        {
                return false;
        }
        $url_ary = parse_url( $url );
        if ( !isset( $url_ary['host'] ) )
        {
                return false;
        }
        $ch = curl_init();
        curl_setopt( $ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1 );
        curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true);
    //curl_setopt($ch, CURLOPT_ENCODING ,'gzip'); //加入gzip解析

        curl_setopt( $ch, CURLOPT_HEADER, ($option['CURLOPT_HEADER']===true) );
        if($option['referer']!='')
        {
                curl_setopt( $ch, CURLOPT_REFERER, $option['referer']);
        }
        if(!empty($post_data))
        {
                curl_setopt( $ch, CURLOPT_POST, true);
                curl_setopt( $ch, CURLOPT_POSTFIELDS, $post_data);
        }
        curl_setopt( $ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 6.00; Windows NT 5.0)' );

        $http_header = array();
        $http_header[] = 'Connection: close';
        $http_header[] = 'Pragma: no-cache';
        $http_header[] = 'Cache-Control: no-cache';
        $http_header[] = 'Accept: */*';
        if(isset($option['header']))
        {
                foreach($option['header'] as $header)
                {
                        $http_header[] = $header;
                }
        }
        curl_setopt( $ch, CURLOPT_HTTPHEADER, $http_header );

        curl_setopt( $ch, CURLOPT_URL, $url );
        curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
        if ( !isset($option['timeout']))
        {
                $option['timeout'] = 10;
        }

        curl_setopt( $ch, CURLOPT_TIMEOUT, $option['timeout'] );
        $result = curl_exec( $ch );
        curl_close( $ch );
        return $result;
}/*}}}*/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 微信公众平台开发

    <?php header('Content-Type: text/html; charset=UTF-8'); //_reply_customer("o2n...

    joshua317
  • 关于解决emoji表情的存储

    近段时间处理,由于工作需求,需要使得用户插入的emoji表情能够正常显示及使用,所以做个总结,以备后用。 说明:本方法只在mysql环境中测试 1.首先程序在连...

    joshua317
  • php curl获取网页内容乱码和获取不到内容的解决方法

    1.如果用curl请求网页,多方网页使用了gzip压缩,那么获取的内容将有可能为乱码。 解决方法 $url = 'http://www.du52.com'; $...

    joshua317
  • php文件下载限速,文件断点续传,多线程下载文件原理解析

    可以看出,php实现浏览器下载文件,主要是靠header头的支持以及echo 文件数据,那么,该如何限制速度呢?可以通过限制输出频率吗?例如每次读取1024之后...

    仙士可
  • 用Simple HTML DOM自动查高考分数与录取情况

    这个程序原本是做来给自己用的,免去了查成绩的手抖又心跳加速打信息打错等各种问题,页面改动后直接发送邮件到自己的邮箱里,不看也不行→_→哈哈哈 Simple H...

    TLingC
  • 腾讯云 CVM 标签实践分享

    随着腾讯云用户资源数量的增加,用户管理资源的难度也随之增加。为方便用户更快速有效地查询和管理各种资源,腾讯云推出标签这一产品。腾讯云主机 CVM 目前也已经接入...

  • 2017年云计算行业最受追捧的3个职位

    我们经常能听到别人讨论云计算领域最好的工作是什么?哪些云计算领域的工作薪酬最高?以下是我们根据工作需求、薪资和工作稳定性筛选出来最好的三个职位。 ? ❆ 云计算...

    SDNLAB
  • 【猫咪生成器】DCGAN、WGAN等4种生成对抗网络猫咪图像对比

    【新智元导读】 作者用 DCGAN,WGAN,WGAN-GP 和 LSGAN 等生成对抗网络(GAN),使用拥有1万张猫的图片的 CAT 数据集做“生成猫咪的脸...

    新智元
  • Java 中的伪异步 IO

    上篇文章中 Java BIO 认识 介绍了 BIO 的弊端,就是服务端会对每个客户端的请求单独创建一个线程来处理,这样子很浪费资源,特别是高并发的时候,资源容易...

    LieBrother
  • 【BDTC 2016】专访中兴飞流吕阿斌、郑龙:Yita,基于数据流的大数据计算引擎

    在此次大会的大数据分析与生态系统论坛上,中兴飞流信息科技有限公司CTO郑龙发表了“Yita:基于数据流的大数据计算引擎”的演讲,阐述了数据流对于大数据的影响,以...

    CSDN技术头条

扫码关注云+社区

领取腾讯云代金券