|
@@ -7,11 +7,9 @@ namespace loyalsoft;
|
|
|
* @author gwang (email: mail@wanggangzero.cn)
|
|
|
* @copyright 2016-3-12 ©SJZ LoyalSoft Corporation & gwang. All rights reserved.
|
|
|
*/
|
|
|
-class HttpUtil
|
|
|
-{
|
|
|
+class HttpUtil {
|
|
|
|
|
|
- public static function parseQueryParas($queryStr)
|
|
|
- {
|
|
|
+ public static function parseQueryParas($queryStr) {
|
|
|
$arr = explode('&', $queryStr);
|
|
|
$queryParas = array();
|
|
|
foreach ($arr as $value) {
|
|
@@ -33,8 +31,7 @@ class HttpUtil
|
|
|
* @return array 结果数组 {"result":bool,"msg":返回值/curlErrMsg,"errno":curl错误码,"ifno":curlInfo}
|
|
|
*/
|
|
|
public static function makeRequest($url, $params, $cookie = array(), #
|
|
|
- $header = array(), $method = 'post', $protocol = 'http')
|
|
|
- {
|
|
|
+ $header = array(), $method = 'post', $protocol = 'http') {
|
|
|
$query_string = self::makeQueryString($params);
|
|
|
$cookie_string = self::makeCookieString($cookie);
|
|
|
|
|
@@ -102,8 +99,7 @@ class HttpUtil
|
|
|
* @param type $params 如果是字符串直接返回,(关联)数组或者object(仅取public字段)
|
|
|
* @return string 编码规范-RFC3986
|
|
|
*/
|
|
|
- public static function makeQueryString($params)
|
|
|
- {
|
|
|
+ public static function makeQueryString($params) {
|
|
|
if (is_string($params)) {
|
|
|
return $params;
|
|
|
}
|
|
@@ -115,8 +111,7 @@ class HttpUtil
|
|
|
* @param type $params 如果是字符串直接返回,(关联)数组或者object(仅取public字段)
|
|
|
* @return string 编码规范-RFC3986
|
|
|
*/
|
|
|
- public static function makeCookieString($params)
|
|
|
- {
|
|
|
+ public static function makeCookieString($params) {
|
|
|
if (is_string($params)) {
|
|
|
return $params;
|
|
|
}
|
|
@@ -127,18 +122,19 @@ class HttpUtil
|
|
|
* 取Request过来的Data转为关联数组
|
|
|
* @return array
|
|
|
*/
|
|
|
- public static function getQueryParas()
|
|
|
- {
|
|
|
+ public static function getQueryParas() {
|
|
|
$param = $_REQUEST;
|
|
|
- switch ($_SERVER['REQUEST_METHOD']) {
|
|
|
- case 'GET':
|
|
|
- $param = $_REQUEST;
|
|
|
- break;
|
|
|
- case 'POST':
|
|
|
- $str = file_get_contents('php://input');
|
|
|
- $param = array_merge($param, ( strlen($str) > 0 ? self::parseQueryParas($str) : array()));
|
|
|
- break;
|
|
|
- default:
|
|
|
+ if (isset($_SERVER['REQUEST_METHOD'])) {
|
|
|
+ switch ($_SERVER['REQUEST_METHOD']) {
|
|
|
+ case 'GET':
|
|
|
+ $param = $_REQUEST;
|
|
|
+ break;
|
|
|
+ case 'POST':
|
|
|
+ $str = file_get_contents('php://input');
|
|
|
+ $param = array_merge($param, ( strlen($str) > 0 ? self::parseQueryParas($str) : array()));
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ }
|
|
|
}
|
|
|
return $param;
|
|
|
}
|
|
@@ -147,17 +143,18 @@ class HttpUtil
|
|
|
* 取Request过来的数据流转为字符串
|
|
|
* @return string
|
|
|
*/
|
|
|
- public static function getQueryString()
|
|
|
- {
|
|
|
+ public static function getQueryString() {
|
|
|
$queryStr = null;
|
|
|
- switch ($_SERVER['REQUEST_METHOD']) {
|
|
|
- case 'GET':
|
|
|
- $queryStr = $_SERVER['QUERY_STRING'];
|
|
|
- break;
|
|
|
- case 'POST':
|
|
|
- $queryStr = file_get_contents('php://input');
|
|
|
- break;
|
|
|
- default:
|
|
|
+ if (isset($_SERVER['REQUEST_METHOD'])) {
|
|
|
+ switch ($_SERVER['REQUEST_METHOD']) {
|
|
|
+ case 'GET':
|
|
|
+ $queryStr = $_SERVER['QUERY_STRING'];
|
|
|
+ break;
|
|
|
+ case 'POST':
|
|
|
+ $queryStr = file_get_contents('php://input');
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ }
|
|
|
}
|
|
|
return $queryStr;
|
|
|
}
|
|
@@ -165,8 +162,7 @@ class HttpUtil
|
|
|
/**
|
|
|
* 用于确保服务器只响应POST方法.
|
|
|
*/
|
|
|
- public static function PostOnly()
|
|
|
- {
|
|
|
+ public static function PostOnly() {
|
|
|
if ($_SERVER['REQUEST_METHOD'] != 'POST') {
|
|
|
header('Allow: POST ', false, 405);
|
|
|
exit();
|
|
@@ -177,8 +173,7 @@ class HttpUtil
|
|
|
* 获取客户端ip地址及端口
|
|
|
* @return ip:port
|
|
|
*/
|
|
|
- public static function getClientEP()
|
|
|
- {
|
|
|
+ public static function getClientEP() {
|
|
|
return $_SERVER['REMOTE_ADDR'] . ":" . $_SERVER['REMOTE_PORT'];
|
|
|
}
|
|
|
|
|
@@ -186,8 +181,7 @@ class HttpUtil
|
|
|
* 获取客户端IP地址(摘自discuz)
|
|
|
* @return string
|
|
|
*/
|
|
|
- public static function clientIP()
|
|
|
- {
|
|
|
+ public static function clientIP() {
|
|
|
$ip = '未知IP';
|
|
|
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
|
|
|
return self::is_ip($_SERVER['HTTP_CLIENT_IP']) ? $_SERVER['HTTP_CLIENT_IP'] : $ip;
|
|
@@ -200,8 +194,7 @@ class HttpUtil
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private static function is_ip($str)
|
|
|
- {
|
|
|
+ private static function is_ip($str) {
|
|
|
$ip = explode('.', $str);
|
|
|
for ($i = 0; $i < count($ip); $i++) {
|
|
|
if ($ip[$i] > 255) {
|
|
@@ -217,8 +210,7 @@ class HttpUtil
|
|
|
* 取Request过来的Data转为关联数组
|
|
|
* @return array
|
|
|
*/
|
|
|
-function query_paras()
|
|
|
-{
|
|
|
+function query_paras() {
|
|
|
return HttpUtil::getQueryParas();
|
|
|
}
|
|
|
|
|
@@ -226,7 +218,6 @@ function query_paras()
|
|
|
* 取Request过来的数据流转为字符串
|
|
|
* @return string
|
|
|
*/
|
|
|
-function query_string()
|
|
|
-{
|
|
|
+function query_string() {
|
|
|
return HttpUtil::getQueryString();
|
|
|
}
|