TaoLer/extend/taoler/com/Api.php

68 lines
2.0 KiB
PHP
Raw Normal View History

2020-03-11 14:23:25 +08:00
<?php
namespace taoler\com;
class Api
{
2020-03-18 21:30:30 +08:00
public static function urlPost($url, $data)
2020-03-11 14:23:25 +08:00
{
if($url == ''){
return json(['code'=>-1,'msg'=>'800']);
}
$ch =curl_init ();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT, 20);
curl_setopt($ch,CURLOPT_POST, 1);
2020-03-18 21:30:30 +08:00
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
2021-01-30 22:25:11 +08:00
$res = curl_exec($ch);
2020-03-11 14:23:25 +08:00
$httpCode = curl_getinfo($ch,CURLINFO_HTTP_CODE);
curl_close($ch);
if($httpCode == '200'){
2021-01-30 22:25:11 +08:00
return json_decode($res);
2020-03-11 14:23:25 +08:00
} else {
2021-03-11 15:49:28 +08:00
return json_decode('{"code":-1,"msg":"远程服务器失败,稍后重试"}'); //转换为对象
2020-03-11 14:23:25 +08:00
}
}
2020-03-18 21:30:30 +08:00
public static function urlGet($url)
{
$ch =curl_init ();
curl_setopt($ch,CURLOPT_URL, $url);
2021-03-11 15:49:28 +08:00
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true); //将curl_exec()获取的信息以文件流的形式返回,而不是直接输出。 1表示传输数据为0表示直接输出显示。
//curl_setopt($ch,CURLOPT_CONNECTTIMEOUT, 20);
curl_setopt($ch, CURLOPT_HEADER, false); //启用时会将头文件的信息作为数据流输出。 参数为1表示输出信息头,为0表示不输出
2020-03-18 21:30:30 +08:00
$data = curl_exec($ch);
$httpCode = curl_getinfo($ch,CURLINFO_HTTP_CODE);
curl_close($ch);
if($httpCode == '200'){
return json_decode($data);
} else {
2021-03-11 15:49:28 +08:00
//$status ='{"code":-1,"msg":"远程服务器失败"}'; //字符串
return json_decode('{"code":-1,"msg":"远程服务器失败,稍后重试"}'); //转换为对象
2020-03-18 21:30:30 +08:00
}
}
public static function get_real_ip()
{
static $realip;
if (isset($_SERVER)) {
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$realip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else if (isset($_SERVER['HTTP_CLIENT_IP'])) {
$realip = $_SERVER['HTTP_CLIENT_IP'];
} else {
$realip = $_SERVER['REMOTE_ADDR'];
}
} else {
if (getenv('HTTP_X_FORWARDED_FOR')) {
$realip = getenv('HTTP_X_FORWARDED_FOR');
} else if (getenv('HTTP_CLIENT_IP')) {
$realip = getenv('HTTP_CLIENT_IP');
} else {
$realip = getenv('REMOTE_ADDR');
}
}
return $realip;
}
2020-03-11 14:23:25 +08:00
}