0
我想要使用與Java應用程序中使用的相同的類,該應用程序通過PHP服務器使用Cookie機制。實際的類,在Java的偉大工程:如何在Java中存儲Cookie Android?
公共類連接{
private HttpURLConnection connection;
private String username;
private String password;
public Connection(String username, String password) {
super();
this.username = username;
this.password = password;
CookieHandler.setDefault(new CookieManager());
login();
}
public Connection() {
CookieHandler.setDefault(new CookieManager());
}
public void setCredentials(String username, String password) {
this.username = username;
this.password = password;
login();
}
public String login() {
String urlParameters = "username=" + username + "&password=" + password
+ "&ac=log";
return sendPost(
my url.php",
urlParameters);
}
public String sendPost(String destination, String post) {
try {
URL url = new URL(destination);
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setDoInput(true);
connection.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(
connection.getOutputStream());
wr.writeBytes(post);
wr.flush();
wr.close();
InputStream is = connection.getInputStream();
BufferedReader rd = new BufferedReader(new InputStreamReader(is));
String line;
StringBuffer response = new StringBuffer();
while ((line = rd.readLine()) != null) {
response.append(line);
response.append('\r');
}
rd.close();
return response.toString();
} catch (Exception e) {
return null;
} finally {
if (connection != null) {
connection.disconnect();
}
}
}
}
下的Java,我能夠管理從服務器接收cookie的,沒有任何問題;在Android中,當我執行方法login()時,我獲得了一個新的PHPsession;那麼如何解決這個問題呢?我只想保持與Android和PHP服務器之間的認證連接。
這就是我認爲的解決方案,但我希望在Java代碼將工作,只要使用相同的碼。 –
我之前沒有使用CookiHandler或CookieManager,不知道它是如何工作的。但它似乎在Android包中,所以它應該在Java中工作。 – osayilgan