<?php function curl_post1($url, $data = []) { $ch = curl_init (); $header = array ("Accept-Charset: utf-8",'Expect:' ); curl_setopt ( $ch, CURLOPT_URL, $url ); curl_setopt ( $ch, CURLOPT_CUSTOMREQUEST, "POST" ); curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); // curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, FALSE ); // curl_setopt ( $ch, CURLOPT_SSL_VERIFYHOST, FALSE ); curl_setopt ( $ch, CURLOPT_HTTPHEADER, $header ); curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 ); curl_setopt($ch, CURLOPT_ENCODING, "gzip"); curl_setopt ( $ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36 15 Accept-Encoding: gzip,deflate,sdch' ); curl_setopt ( $ch, CURLOPT_FOLLOWLOCATION, false ); // curl_setopt ( $ch, CURLOPT_AUTOREFERER, 1 ); curl_setopt ( $ch, CURLOPT_TIMEOUT, 10 ); // 最好加上http_build_query 转换,防止有些服务器不兼容 if($data){ curl_setopt ( $ch, CURLOPT_POSTFIELDS, http_build_query ( $data ) ); } curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); $result = curl_exec ( $ch ); curl_close ( $ch ); return $result; } function curl_post($url, $data = []) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_POST, 1); if($data){ curl_setopt ( $ch, CURLOPT_POSTFIELDS, http_build_query ( $data ) ); } $output = curl_exec($ch); curl_close($ch); return $output; } /** * AES 128 ecb 加密 与java加密保持一致 * @param $data 加密字符串 * @param $key 加密key * @return string 加密串 */ function aes_encrypt($data, $key='') { if(!$key){ $key = get_instance()->config->item('encryption_key'); } $data = openssl_encrypt($data, 'aes-128-ecb', $key, OPENSSL_RAW_DATA); return base64_encode($data); } /** * AES 128 ecb 解密 与java加密保持一致 * @param $data 解密字符串 * @param $key 加密key * @return string 解密串 */ function aes_decrypt($data, $key='') { if(!$key){ $key = get_instance()->config->item('encryption_key'); } $encrypted = base64_decode($data); return openssl_decrypt($encrypted, 'aes-128-ecb', $key, OPENSSL_RAW_DATA); } /** * 多维数组键值下划线转换为驼峰 * @param $arr * @return array */ function array_change_line_to_hump($arr){ if(!is_array($arr)){ return $arr; } $tem = []; foreach ($arr as $k=>$v){ if(is_array($v)){ $tem[line_to_hump($k)] = array_change_line_to_hump($v); }else{ $tem[line_to_hump($k)] = $v; } } return $tem; } /** * 驼峰转下划线 * @param $str * @return string|string[]|null */ function hump_to_line($str){ return preg_replace_callback('/([A-Z])/', function ($match) { return '_' . lcfirst($match[0]); }, $str); } /** * 下划线转驼峰 * @param $str * @return string|string[]|null */ function line_to_hump($str){ $str = strtolower($str); return preg_replace_callback('/(_[a-z])/', function ($match) { return ucfirst(trim($match[0], '_')); }, $str); }