zoukankan      html  css  js  c++  java
  • PHP 常用自定义函数

    模拟 POST、GET 请求

     /**
         * 模拟post进行url请求
         * @param string $url
         * @param string $param
         */
        protected function requestPOST($url = '', $param = '') 
        {
            if (empty($url) || empty($param)) :
                return false;
            endif;
            
            $timeout = 300;         
            $postUrl = $url;
            $curlPost = $param;
            $ch = curl_init();//初始化curl
            curl_setopt($ch, CURLOPT_URL,$postUrl); //抓取指定网页
            curl_setopt($ch, CURLOPT_HEADER, 0);    //设置header
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    //要求结果为字符串且输出到屏幕上
            curl_setopt($ch, CURLOPT_POST, 1);  //post提交方式
            curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);    //提交的数据库
            curl_setopt($ch, CURLOPT_BINARYTRANSFER,true);  //二进制流      
            curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); //设置请求超时时间    
            $data = curl_exec($ch);//运行curl
            curl_close($ch);
            
            return $data;
        }
    
        /**
         * 模拟Get进行URL请求
         * @param  string $url 访问url路径[description]
         * @return string
         */
        protected function requestGET($url)
        {
            $curl = curl_init(); //初始化
            curl_setopt($curl, CURLOPT_URL, $url); //设置抓取的url
            curl_setopt($curl, CURLOPT_HEADER, 1);  //设置头文件的信息作为数据流输出
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //设置获取的信息以文件流的形式返回,而不是直接输出。
            $data = curl_exec($curl); //执行命令
            curl_close($curl); //关闭URL请求
            return $data;  //返回获得的数据
        }
     

     

    md5加密数据 添加sign、验证 md5加密数据sign

     1     // md5加密数据 添加sign
     2     private function md5Encryption($post_data)
     3     {
     4         $post_data['time_stamp'] = time();
     5         ksort($post_data);
     6         $post_data['sign'] = md5( implode('#', $post_data) . '58coin' );
     7         return $post_data;
     8     }    
     9 
    10     // 验证 md5加密数据sign
    11     public function checkMd5Encryption($post_data)
    12     {
    13         // 验证有效期【60秒】
    14         if( ($post_data['time_stamp']+60) < time() ):
    15             echo json_encode(['code'=>400,'msg'=>'overtime!', 'data'=>'']);
    16             die;
    17         endif;
    18         // 验证签名
    19         $sign = $post_data['sign'];
    20         unset($post_data['sign']);
    21         ksort($post_data);
    22         if($sign != md5( implode('#', $post_data) . '58coin' ) ):
    23             echo json_encode(['code'=>400,'msg'=>'sign error!', 'data'=>'']);
    24             die;
    25         endif;
    26     }
  • 相关阅读:
    IO流操作-图片操作(二)
    SQL Server 大数据量批量插入
    XSS【跨站脚本攻击】
    Log4net配置
    发布网站碰到的问题
    操作百度API
    Html.BeginForm
    jquery自动识别输入的都是数字
    mysql中随机取出几条数据
    Html中截切文章内容,造成标签不全的问题
  • 原文地址:https://www.cnblogs.com/jxkshu/p/8471805.html
Copyright © 2011-2022 走看看