常用的基础方法,对象转数组,phpcurl请求
2024-09-08 17:21:27
/**
* CURL方法
* @param type $url
* @param type $https
* @param type $method
* @param type $data
* @return type
*/
public function request($url, $https = true, $method = 'get', $data = null)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
if ($https === true) {
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
}
if ($method == 'post') {
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
}
$str = curl_exec($ch);
curl_close($ch);
return $str;
}
/**
* 对象 转 数组
* @param object $obj 对象
* @return array
*/
public function objToArr($object)
{
$object = json_decode(json_encode($object), true);
return $object;
}
/**
* 获取客户端ip
* @return string 客户端ip地址
* @author lichuang
*/
public function getIp()
{
$ip = false;
if (!empty($_SERVER["HTTP_CLIENT_IP"])) {
$ip = $_SERVER["HTTP_CLIENT_IP"];
}
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ips = explode(",", $_SERVER['HTTP_X_FORWARDED_FOR']);
if ($ip) {
array_unshift($ips, $ip);
$ip = FALSE;
}
for ($i = 0; $i < count($ips); $i++) {
if (!eregi("^(10|172\.16|192\.168)\.", $ips[$i])) {
$ip = $ips[$i];
break;
}
}
}
return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}
最新文章
- Linux网络编程系列-常见疑惑
- 自定义readonly属性的用法
- python--day2--基础数据类型与变量
- Jquery easyui tree的使用
- 谈谈“色彩空间表示方法”——RGB、YUY2、YUYV、YVYU、UYVY、AYUV
- The formatter threw an exception while trying to deserialize the message in WCF
- vuejs 三级联动
- [转]Net Framework引路蜂地图开发示例
- NYIST OJ 题目38 布线问题
- git远程分支--remote
- Java创建连接池连接不同数据库
- mysql导出指定字段或指定数据到文件中
- 201521123017 《Java程序设计》第6周学习总结
- Linux内核中的有关Page的算法
- PID控制算法的简单分析和仿真!
- Windows中使用ssh利用公钥登入远程服务器
- cmake方式使用vlfeat
- 【C++ Primer | 11】关联容器(一)
- 019_nginx upstream中keepalive参数
- Vue源码
热门文章
- MarkDown语法----纯文本格式的标记语言
- 《Effective C++》实现 章节
- [Unity]Update()与FixedUpdate()
- [硬核] Bootstrap Blazor Table 综合演示例子
- C#中检查null的语法糖,非常实用
- flutter2.x报错解决type (RouteSettings) =>; Route<;dynamic>; is not a subtype of type (RouteSettings) =>; Route<;dynemic>; of function result
- 【模板】网络最大流 Dinic(多路增广+当前弧优化)
- 【数据结构和算法】Trie树简介及应用详解
- Hash table集合-练习_计算一个字符串中每个字符出现次数
- 结构型模式 - 装饰器模式Decorator