我有一个描述如下的 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/