我正在编写一个基于LAMP的Android应用程序
该应用程序中有一个登录功能
各项操作功能完善。但是,
为什么Linux每次都会生成会话文件
只有当我在使用httpURLConnection的电话上连接时
当我通过WebBrowser(Chrome)连接网页而不登录时,
Linux使会话文件为空<---(A)
然后,我也通过WebBrowser(Chrome)连接网页和登录,
Linux生成附加在(A)会话文件中的会话文件
所以。后果如果我使用网络浏览器,linux会生成会话文件,只有1。
但是
当我使用手机(应用程序)连接时,
Linux每次都会生成会话文件如果我登录,
意思是
应用程序登录->(Linux进行会话)
backpress->应用程序登录->(Linux进行会话)
backpress->应用程序登录->(Linux进行会话)
**我检查了Logcat中的PHPSSID,并使用cookie同步管理器缓存SQL
Android HttpURLConnection Header Part Source
URL urlLogin = new URL(url);
HttpURLConnection httpConn = (HttpURLConnection) urlLogin.openConnection();
httpConn.setDefaultUseCaches(true);
httpConn.setDoInput(true);
httpConn.setDoOutput(true);
httpConn.setUseCaches(true);
httpConn.setInstanceFollowRedirects(false);
httpConn.setRequestMethod("POST");
httpConn.setRequestProperty("content-type", "application/x-www-form-urlencoded;charset=utf-8");
httpConn.setRequestProperty("Connection", "keep-alive");
PHP登录服务器部分
<?php
session_start();
require_once "dbconn.php";
require_once "check.php";
require_once "process.php";
$email = $_POST['email'];
$pw = $_POST['pw'];
$process = new Process($_POST);
if ($process->checkLogin()) { //Check Login matches
$_SESSION['email'] = $email;
$_SESSION['pw'] = $pw;
$_SESSION['logged'] = true;
$errcode = 100;
}
假设"session file"=="session cookie",可能您还没有为HttpUrlConnection
启用cookie管理。如文档中所述,您需要为此使用CookieHandler
和CookieManager
:
CookieManager cookieManager = new CookieManager();
CookieHandler.setDefault(cookieManager);