保持网络会话

时间:2011-11-23 11:31:14

标签: session blackberry

我使用的是首先需要登录的API,然后我可以访问查看节点。这些是使用的两个网址。

http://thewebpage.com/login.php?user=123&pass=123
http://thewebpage.com/get_nodes.php

我使用连接的方法如下

StreamConnection s = (StreamConnection)Connector.open(url);
InputStream input = s.openInputStream();

byte[] data = new byte[256];
int len = 0;
StringBuffer raw = new StringBuffer();

while( -1 != (len = input.read(data))) {
    raw.append(new String(data, 0, len));
}

response = raw.toString();

当我连接到login.php时,我从已登录的服务器获得响应,但问题是当我呼叫get_nodes.php时我得到响应“请登录”因为会话不是存储

有没有办法解决这个问题,所以我可以访问节点? 感谢

1 个答案:

答案 0 :(得分:1)

我终于通过从登录中保存cookie数据来解决它,然后将cookie放在另一个http请求中,就像这样

获取Cookie

HttpConnection connection = (HttpConnection)Connector.open(loginUrl);
String cookieData = connection.getHeaderField("Set-Cookie");

设置Cookie

HttpConnection connection = (HttpConnection)Connector.open(nodeUrl);
connection.setRequestProperty("Cookie", cookieData);