zoukankan      html  css  js  c++  java
  • curl远程传输工具

    /**
     * curl远程传输工具
     */
    public function post_curl($url,$body,$header,$type='POST'){
        $ch = curl_init();
        curl_setopt($ch,CURLOPT_URL,$url);
        curl_setopt($ch,CURLOPT_HEADER,0);//0只要正文
        curl_setopt($ch,CURLOPT_TIMEOUT,5);//设置超时时间
        curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,5);
           //将curl_exec()获取的信息以文件流的形式返回,而不是直接输出。
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
           //增加header头信息
        // array_push($header,'Accept:application/json');
        // array_push($header,'Content-Type:application/json');
        // array_push($header,'http:multipart/form-data');
        if(count($body)>0){
            curl_setopt($ch,CURLOPT_POSTFIELDS,$body);
        }
        if(count($header)>0){
            curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
        }
        //设置上传文件相关
        curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
        curl_setopt($ch,CURLOPT_MAXREDIRS,3);//递归
        curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);// 对认证证书来源的检查
        curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);// 从证书中检查SSL加密算法
        switch ($type) {
            case 'GET':
                    curl_setopt($ch,CURLOPT_HTTPGET,1);
                break;
            case 'POST':
                    curl_setopt($ch,CURLOPT_POST,1);
                break;
            case 'PUT':
                    curl_setopt($ch,CURLOPT_CUSTOMREQUEST,'PUT');
                break;
            case 'DELETE':
                    curl_setopt($ch,CURLOPT_CUSTOMREQUEST,'DELETE');
                break;
        }
            //上传文件相关设置
        curl_setopt($ch,CURLOPT_ENCODING,'gzip');
        curl_setopt($ch,CURLOPT_USERAGENT,'SSTS Browser/1.0');
        curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)');// 模拟用户使用的浏览器
        if(curl_errno($ch)){
            return curl_error($ch);
        }
        $content = curl_exec($ch);
        curl_close($ch);//关闭curl资源,并且释放系统资源
        $result = json_decode($content,true);
        if(!empty($result)){
            return $result;
        }else{
            return $content;
        }
    }
    
  • 相关阅读:
    C#创建自定义配置节
    linux下安装nginx
    linux查看防火墙状态和对外开放的端口状态
    js 获取二级域名
    .net core 获取本地ip及request请求端口
    《趣谈 Linux 操作系统》学习笔记(二):对 Linux 操作系统的理解
    《趣谈 Linux 操作系统》学习笔记(一):为什么要学 Linux 及学习路径
    Redis Cluster集群
    Redis的主从复制与Redis Sentinel哨兵机制
    Redis持久化方案
  • 原文地址:https://www.cnblogs.com/qingsong/p/5352630.html
Copyright © 2011-2022 走看看