Java 如果我用url.openStream打开url,$\u会话为什么会重置?
我使用以下代码从URL读取内容:Java 如果我用url.openStream打开url,$\u会话为什么会重置?,java,php,session,session-variables,Java,Php,Session,Session Variables,我使用以下代码从URL读取内容: public static String getPageContent(URL url) throws IOException { InputStream in = url.openStream(); StringBuffer sb = new StringBuffer(); byte[] buffer = new byte[256]; while (true) { int byteRead = in.read(buff
public static String getPageContent(URL url) throws IOException {
InputStream in = url.openStream();
StringBuffer sb = new StringBuffer();
byte[] buffer = new byte[256];
while (true) {
int byteRead = in.read(buffer);
if (byteRead == -1) {
break;
}
for (int i = 0; i < byteRead; i++) {
sb.append((char) buffer[i]);
}
}
return sb.toString();
}
My sessiontest.php包含:
<?php
session_start();
if (isset($_SESSION['asd'])) {
echo "set";
unset($_SESSION['asd']);
} else {
echo "not set";
$_SESSION["asd"]="asdasdajklhlòjkl";
}
?>
当设置了$\u SESSION['asd']
时,此代码打印出设置
,如果未设置,则打印出未设置
当多次调用我的URL时,它应该第一次输出“未设置”,第二次输出“设置”,第三次输出“未设置”,等等
问题是,我的代码在同一个页面上调用了两次,我总是收到sessiontest.php的“not set”作为输出,而如果我从任何浏览器访问我的页面两次,我会看到“not set”,然后是“set”
php似乎把我所有的连接都当作不同的会话来处理,为什么 打印session_id()的值,查看生成的id在所有请求中是否相同。一次会议应该是相同的。出于某种原因,如果不相同,请检查存储会话的目录上的权限。您还可以尝试使用session_id($id)手动设置该值
<?php
session_start();
if (isset($_SESSION['asd'])) {
echo "set";
unset($_SESSION['asd']);
} else {
echo "not set";
$_SESSION["asd"]="asdasdajklhlòjkl";
}
?>