我使用的是首先需要登录的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
时我得到响应“请登录”因为会话不是存储
有没有办法解决这个问题,所以我可以访问节点? 感谢
答案 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);