我使用okhttp访问我的网页。在第一次访问时,服务器上的会话变量设置为我登录。接下来,我想访问网站的另一部分,只有在我登录时才有效。在浏览器中这是有效的,但是使用okhttp它没有按'吨
示例:
位/ index.php的动作=登录&安培; UN = newun&安培; PW = PW
如果un和pw是正确的,php脚本上的Session变量设置为登录。
下一步:
我的应用程序需要在我登录后做一些事情,所以
http://digit/index.php?action=getDates
如果我已登录,则应返回用户可用的日期列表。
在网络浏览器上,这有效。这意味着会话保持在两个页面之间,我登录并登录我需要登录的第二个页面。
最终,我的问题是:
new DownloadImageTask().execute("http://digit/index.php?action=login&name=unpow&pw=unpow");
登录后返回。
接下来我去这个网站:
new DownloadImageTask().execute("http://digit/index.php?action=registerDate&dateid=2");
错误:未登录。
这是我的DownloadImageTask
private class DownloadImageTask extends AsyncTask<String, String, String> {
/** The system calls this to perform work in a worker thread and
* delivers it the parameters given to AsyncTask.execute() */
private String result;
protected String doInBackground(String... urls) {
Request request = new Request.Builder()
.url(urls[0])
.build();
try {
Response response = client.newCall(request).execute();
big = response.body().string();
publishProgress(big);
} catch (IOException e) {
}
return big;
}
protected void onProgressUpdate(String ok)
{
}
/** The system calls this to perform work in the UI thread and delivers
* the result from doInBackground() */
protected void onPostExecute(String result) {
big = result;
UpdateUI();
}
}