0
我使用下面的代碼從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(buffer);
if (byteRead == -1) {
break;
}
for (int i = 0; i < byteRead; i++) {
sb.append((char) buffer[i]);
}
}
return sb.toString();
}
然後我這樣稱呼它:
public static void main(String[] as) {
try {
URL u = new URL("http", "localhost", "/sessiontest.php");
System.out.println(getPageContent(u));
System.err.println(getPageContent(u));
} catch (Exception e) {
e.printStackTrace();
}
}
我sessiontest.php包含:
<?php
session_start();
if (isset($_SESSION['asd'])) {
echo "set";
unset($_SESSION['asd']);
} else {
echo "not set";
$_SESSION["asd"]="asdasdajklhlòjkl";
}
?>
當$_SESSION['asd']
置位時,此代碼打印set
,如果未設置則not set
當調用我的URL多次,它應該輸出「未設置」第一次,然後在「設置」第二次,「未設置」第三時間等
的問題是,與我代碼我打了兩次相同的頁面,我總是收到「未設置」作爲sessiontest.php的輸出,而如果我從任何瀏覽器訪問我的頁面兩次,我看到「未設置」,然後「設置」。
看來,PHP處理我所有的連接作爲不同的會議,爲什麼?
http://www.jroller.com/mipsJava/entry/urls_and_cookies – DaveRandom 2013-03-17 11:40:55