本文整理汇总了PHP中HTTP::decode方法的典型用法代码示例。如果您正苦于以下问题:PHP HTTP::decode方法的具体用法?PHP HTTP::decode怎么用?PHP HTTP::decode使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HTTP
的用法示例。
在下文中一共展示了HTTP::decode方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: dealProcess
/**
* 处理业务逻辑 查询log 查询统计信息
* @see PHPServerWorker::dealProcess()
*/
public function dealProcess($recv_str)
{
$time_start = microtime(true);
HTTP::decode($recv_str);
$rsp_data = '';
$services = json_encode($this->getService());
if (!empty($_POST)) {
$class = isset($_POST['class']) ? $_POST['class'] : '';
$func = isset($_POST['func']) ? $_POST['func'] : '';
$param = isset($_POST['value']) ? $_POST['value'] : array();
if (get_magic_quotes_gpc() && !empty($_POST['value']) && is_array($_POST['value'])) {
foreach ($_POST['value'] as $index => $value) {
$_POST['value'][$index] = stripslashes(trim($value));
}
}
if ($param) {
foreach ($param as $index => $value) {
if (stripos($value, 'array') === 0 || $value === 'true' || $value === 'false' || $value == 'null' || stripos($value, 'object') === 0) {
eval('$param[' . $index . ']=' . $value . ';');
}
}
}
global $reqText, $rspText;
try {
$rsp_data = call_user_func_array(array(ClientForTest::instance($class), $func), $param);
} catch (Exception $e) {
$rsp_data = $e . '';
}
return $this->display($rsp_data, microtime(true) - $time_start, $services);
} elseif (isset($_GET['ajax_get_service'])) {
$this->sendToClient(HTTP::encode($services));
}
$this->display('', '', '', '', microtime(true) - $time_start);
}
示例2: dealProcess
/**
* 处理业务逻辑 查询log 查询统计信息
* @see PHPServerWorker::dealProcess()
*/
public function dealProcess($recv_str)
{
HTTP::decode($recv_str);
$module = isset($_GET['module']) ? trim($_GET['module']) : '';
$interface = isset($_GET['interface']) ? trim($_GET['interface']) : '';
$start_time = isset($_GET['start_time']) ? trim($_GET['start_time']) : '';
$end_time = isset($_GET['end_time']) ? trim($_GET['end_time']) : '';
// 管理员
if (0 === strpos($_SERVER['REQUEST_URI'], '/admin')) {
return $this->admin();
} elseif (0 === strpos($_SERVER['REQUEST_URI'], '/html')) {
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])) {
HTTP::header("HTTP/1.1 304 Not Modified");
return $this->sendToClient(HTTP::encode(''));
}
$modified_time = date('D, d M Y H:i:s');
$base_name = basename($_SERVER['REQUEST_URI']);
switch ($base_name) {
case 'highcharts.js':
HTTP::header("Content-Type: application/javascript");
HTTP::header("Last-Modified: {$modified_time}");
return $this->sendToClient(HTTP::encode(self::$hichart));
case 'jquery.min.js':
HTTP::header("Content-Type: application/javascript");
HTTP::header("Last-Modified: {$modified_time}");
return $this->sendToClient(HTTP::encode(self::$jquery));
default:
HTTP::header("HTTP/1.1 404 Not Found");
return $this->sendToClient(HTTP::encode(''));
}
} elseif (0 === strpos($_SERVER['REQUEST_URI'], '/log')) {
$this->checkRedirect();
$right_str = '';
$code = isset($_GET['code']) ? $_GET['code'] : '';
$msg = isset($_GET['msg']) ? $_GET['msg'] : '';
$pointer = isset($_GET['pointer']) ? $_GET['pointer'] : '';
$count = isset($_GET['count']) ? $_GET['count'] : 5;
$log_data_arr = $this->getStasticLog($module, $interface, $start_time, $end_time, $code, $msg, $pointer, $count);
$log_data_str = '';
unset($_GET['ip']);
unset($_GET['pointer']);
foreach ($log_data_arr as $address => $log_data) {
list($ip, $port) = explode(':', $address);
$str = str_replace('source_ip:', 'client_ip:', $log_data['data']);
$log_data_str .= preg_replace('/t?arget_ip:\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}/', 'server_ip:' . $ip . "<br/>", $str);
$_GET['ip'][] = $ip;
$_GET['pointer'][] = $log_data['pointer'];
}
// 过滤掉用户名密码
$log_data_str = preg_replace(array('/([^#]*?Db[a-zA-Z]*Connection[^#]*?[construct|connect]\\()([^)]*?),([^)]*?),([^)]*?)(,[^)]*?\\))/i', '/(REQUEST_DATA:.*?)"password":"([^"]*?)"/'), array('${1}${2}, ****, ****$5', '$1"password":"****"'), $log_data_str);
unset($_GET['end_time']);
$next_page_url = http_build_query($_GET);
$log_data_str .= "</br><center><a href='/log/?{$next_page_url}'>下一页</a></center>";
return $this->display(nl2br($log_data_str));
} else {
$this->checkRedirect();
// 首页
if (empty($module)) {
return $this->home();
} else {
if ($interface) {
return $this->displayInterface($module, $interface, $start_time, $end_time);
} else {
$this->multiRequestStAndModules($module);
return $this->display();
}
}
}
return $this->display();
}
示例3: dealProcess
/**
* 处理业务逻辑 查询log 查询统计信息
* @see PHPServerWorker::dealProcess()
*/
public function dealProcess($recv_str)
{
$time_start = microtime(true);
HTTP::decode($recv_str);
$rsp_data = '';
if (!empty($_POST)) {
// 传的是json文本
if (!empty($_POST['req_data'])) {
$req_text = trim($_POST['req_data']);
// 文本前有非json字符
if ($req_text[0] != "{" && $req_text[0] != "[") {
for ($i = 0, $j = strlen($req_text); $i < $j; $i++) {
if ($req_text[$i] == "{" || $req_text[$i] == "[") {
$req_text = substr($req_text, $i);
break;
}
}
}
$len = strlen($req_text);
if ($req_text[$len - 1] != "}" && $req_text[$len - 1] != "]") {
for ($i = $len - 1; $i > 0; $i--) {
if ($req_text[$i] == "]" || $req_text[$i] == "}") {
$req_text = substr($req_text, 0, $i + 1);
break;
}
}
}
$req_data = json_decode($req_text, true);
if (isset($req_data[0])) {
$req_data = $req_data[0];
}
if (isset($req_data['data'])) {
$req_data = json_decode($req_data['data'], true);
}
if (is_array($req_data)) {
if (isset($req_data['class'])) {
$_POST['class'] = str_replace('RpcClient_', '', $req_data['class']);
}
if (isset($req_data['method'])) {
$_POST['func'] = $req_data['method'];
}
if (isset($req_data['params'])) {
$_POST['value'] = $req_data['params'];
if (is_array($_POST['value'])) {
foreach ($_POST['value'] as $key => $value) {
if (!is_scalar($value)) {
$_POST['value'][$key] = var_export($value, true);
} else {
if ($value === true) {
$_POST['value'][$key] = 'true';
} elseif ($value === false) {
$_POST['value'][$key] = 'false';
} elseif ($value === null) {
$_POST['value'][$key] = 'null';
}
}
}
}
}
}
}
$class = isset($_POST['class']) ? $_POST['class'] : '';
$func = isset($_POST['func']) ? $_POST['func'] : '';
$param = isset($_POST['value']) ? $_POST['value'] : '';
$post_address = isset($_POST['address']) ? $_POST['address'] : '127.0.0.1:2201';
list($address_ip, $address_port) = explode(':', $post_address);
if (get_magic_quotes_gpc() && !empty($_POST['value']) && is_array($_POST['value'])) {
foreach ($_POST['value'] as $index => $value) {
$_POST['value'][$index] = stripslashes(trim($value));
}
}
if ($param) {
foreach ($param as $index => $value) {
if (stripos($value, 'array') === 0 || stripos($value, 'true') === 0 || stripos($value, 'false') === 0 || stripos($value, 'null') === 0 || stripos($value, 'object') === 0) {
eval('$param[' . $index . ']=' . $value . ';');
}
}
}
global $reqText, $rspText;
JMTextRpcClient::on('send', function ($data) {
global $reqText;
$reqText = $data;
});
JMTextRpcClient::on('recv', function ($data) {
global $rspText;
$rspText = $data;
});
try {
if (!class_exists('RpcClient_' . $class)) {
eval('class RpcClient_' . $class . ' extends JMTextRpcClient {}');
}
$remote_class = 'RpcClient_' . $class;
$config = array('rpc_secret_key' => '769af463a39f077a0340a189e9c1ec28', 'User' => array('host' => $address_ip, 'port' => $address_port, 'user' => 'Optool', 'secret' => '{1BA09530-F9E6-478D-9965-7EB31A59537E}'), 'Item' => array('host' => $address_ip, 'port' => $address_port, 'user' => 'Optool', 'secret' => '{1BA09530-F9E6-478D-9965-7EB31A59537E}'), 'Order' => array('host' => $address_ip, 'port' => $address_port, 'user' => 'Optool', 'secret' => '{1BA09530-F9E6-478D-9965-7EB31A59537E}'), 'Cart' => array('host' => $address_ip, 'port' => $address_port, 'user' => 'Optool', 'secret' => '{1BA09530-F9E6-478D-9965-7EB31A59537E}'));
$test = $remote_class::instance($config);
//call_user_func_array(array($test, 'asend_'.$func), $param);
//$rsp_data = call_user_func_array(array($test, 'arecv_'.$func), $param);
//.........这里部分代码省略.........