模拟 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

     // md5加密数据 添加sign
private function md5Encryption($post_data)
{
$post_data['time_stamp'] = time();
ksort($post_data);
$post_data['sign'] = md5( implode('#', $post_data) . '58coin' );
return $post_data;
} // 验证 md5加密数据sign
public function checkMd5Encryption($post_data)
{
// 验证有效期【60秒】
if( ($post_data['time_stamp']+60) < time() ):
echo json_encode(['code'=>400,'msg'=>'overtime!', 'data'=>'']);
die;
endif;
// 验证签名
$sign = $post_data['sign'];
unset($post_data['sign']);
ksort($post_data);
if($sign != md5( implode('#', $post_data) . '58coin' ) ):
echo json_encode(['code'=>400,'msg'=>'sign error!', 'data'=>'']);
die;
endif;
}

PHP 常用自定义函数的更多相关文章

  1. JS常用自定义函数总结

    JS常用自定义函数总结   1.原生JavaScript实现字符串长度截取 2.原生JavaScript获取域名主机 3.原生JavaScript清除空格 4.原生JavaScript替换全部 5.原 ...

  2. mysql 常用自定义函数解析

    -- /* -- * 用于获取一记录数据,根据传入的分隔字符delim,索引位置pos,返回相对应的value -- * SELECT Json_getKeyValue({"A": ...

  3. php常用自定义函数

    1,写一个函数,算出两个文件的相对路径 有两种方法,一种是利用array的相关方法,如例1,另外一种是使用?:;运算符 先看第一种方法 function getrelativepath2($path1 ...

  4. VBA Excel 常用 自定义函数

    1. 将 互换 Excel 列号(数字/字母) Public Function excelColumn_numLetter_interchange(numOrLetter) As String Dim ...

  5. oracle常用自定义函数集合

    1.Oracle 判断值是否为数字的函数CREATE OR REPLACE FUNCTION ISNUMBER(MyStr VARCHAR2) RETURN NUMBERIS  STR VARCHAR ...

  6. Sql Server 常用自定义函数

    -- select * from [dbo].[SplitToTable]('ADSF','|') -- 分解字符串 ALTER FUNCTION [dbo].[SplitToTable] ( @Sp ...

  7. python 几个常用自定义函数在dataframe上的应用

    最小值与最大值 def f(x): return pd.Series([x.min(),x.max(),index=['min','max']) frame.apply(f) 浮点值的格式化 form ...

  8. SQL常用自定义函数

    1.字符串转Table(Func_SplitToTable) CREATE FUNCTION [dbo].[Func_SplitToTable]      (        @SplitString ...

  9. PHP常用的自定义函数

    PHP常用的自定义函数 目录 php常用自定义函数类下载 php 设置字符编码为utf-8 路径格式化(替换双斜线为单斜线) 转码 打印输出 api返回信息 字符串截取 方法一: 方法二: 数组 字符 ...

随机推荐

  1. Zookeeper-技术专区-配置以及学习

    zookeeper 一.zookeeper下载 zookeeper下载可以直接去官网进行下载  https://zookeeper.apache.org/releases.html ,可以选择最新版本 ...

  2. java 进销存 商户管理 系统 管理 库存管理 销售报表springmvc SSM项目

    统介绍: 1.系统采用主流的 SSM 框架 jsp JSTL bootstrap html5 (PC浏览器使用) 2.springmvc +spring4.3.7+ mybaits3.3  SSM 普 ...

  3. YouCompleteMe报错可能是第三方库没有

    git submodule update --init --recursive 到YouCompleteMe安装目录下,执行上面的命令

  4. R语言控制流

    一般来说R语言是自上而下执行的,但是遇到特殊情况可能用到循环执行某些语句,这时候条件运算和循环就能派上用场了.

  5. WriteDataToFile(filename,pJsonData,strlen(pJsonData)+1)

    WriteDataToFile(filename,pJsonData,strlen(pJsonData)+1) 字节流的长度计算 发送的txt 文件是对的 zip exe出现字节计算错误 strlen ...

  6. AES apache commons-crypto 对称加密

    apache实现的AES256加密 官方用户指导链接:http://commons.apache.org/proper/commons-crypto/userguide.html 官方字节缓存实现的例 ...

  7. Mongodb使用shell实现与javascript的动态交互

    关于利用mongodb的shell执行脚本,这点在以前的文章中有点遗漏:现在在此篇博客中做个补充: 一.在命令行中传入脚本文件 定义一个javasciprt文件,名称为:script1.js,内容如下 ...

  8. 【串线篇】SQL映射文件select简单查询标签

    一.参数(Parameters)传递 单个参数 基本类型:取值#{hahaha}随便写 多个参数 <!--   public Employee getEmpById(Integer id,Str ...

  9. Python3.5-20190503-廖老师-自我笔记

    列表和元组 list1 = [1,4,6,788,345,757]            tuple1 =      (345,234,567,878)         切记你的变量名不能和  hel ...

  10. Java二级练习试题一

    为保护本地主机,对Applet安全限制中正确的是() A. Applet可加载本地库或方法 B. Applet可读.写本地计算机的文件系统 C. Applet可向Applet之外的任何主机建立网络连接 ...