java - 如何从 httpResponse 检索 session token ?

标签 java android http-post httpresponse

我有一个描述如下的 api:

给定一个典型的 HTML 表单如下:

 <form method="post" action="/api">
       <input type="hidden" name="action" value="login" />
      <input type="hidden" name="username" value="testuser" />
      <input type="hidden" name="password" value="123" />
 </form>

当提交上面的 HTML 表单时,下面显示了如何提交的示例 可以使用 HTTP 协议(protocol)发送信息:

 POST /api HTTP/1.0
 Content-Type: application/x-www-form-urlencoded
 Content-Length: 43
 action=login&username=testuser&password=123

系统会发回如下回复:

HTTP/1.0 200 OK
Content-Type: application/json
{ 'session_token':'a1234aa334567432bccdd001f123450abcedfa0b' }

谁能指导我如何使用 android java 从帖子响应中检索 session token ?

编辑:(这是我发送和检索请求和响应的一些代码。)

  HttpPost httpost = new HttpPost("url of server");
        List <NameValuePair> nvps = new ArrayList <NameValuePair>();
        nvps.add(new BasicNameValuePair("username","testuser" ));
        nvps.add(new BasicNameValuePair("password", "1234567" ));
        httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
        HttpResponse response = getResponse(httpost);

public HttpResponse getResponse(HttpPost httpPost) throws Exception {
    DefaultHttpClient httpclient = new DefaultHttpClient();
    HttpResponse response = httpclient.execute(httpPost);
    return response;
}

最佳答案

我是 Android API 的新手,但想提出以下建议:

选项 1:
Header[] headers = httpResponse.getAllHeaders();

选项 2:
Header[] headers = httpResponse.getHeaders( "session_token_name_here");

迭代 header 数组以找到所需的 header ,比如 session_token

关于java - 如何从 httpResponse 检索 session token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8305858/

相关文章:

java - 通过Servlet从运行的Java线程获取信息

java - Android mvvm - 每个 CRUD 操作都应该有自己的 ViewModel 吗?

java - 通过 Android AsyncTask 发布多部分表单数据

ios - 使用 AFNetworking 2 将 Json 数组发送到服务器时出错

java - 在 Android 中使用 MultipartEntityBuilder 时 HttpPost 返回错误

java - InputStream 读取源中不存在的额外字节

java - 处理来自 BatchUpdateException 的多个错误

java - 如何让搜索栏随着计时器的减少而自动滑动/同步到 CountDownTimer

java - Android NFC 无法立即打开正确的类

java - android bytebuffer as intbuffer - asarray 总是给出不支持的操作异常