自从我开始解决这个问题已经过了两天。我读了所有关于凌空和杰森的亲戚,但没有人帮助过我。这是一个奇怪的问题。让我解释一下。
我必须将JSON对象发送到服务器。在对象内部,有一个身份验证令牌。它是带有时间和私有令牌的md5令牌。我从这个网址获取公共令牌:http://casting.haikoservices.com/service/create_token。真的很简单,不是吗?我用这种方法来获得它。
public void getTemporalToken() {
temporal_token="";
JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.GET,
url_temporal_token,null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
temporal_token = response.getString("token");
sendData();
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(),
"Error: " + e.getMessage(),
Toast.LENGTH_LONG).show();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(),
"OnError"+error.getMessage(), Toast.LENGTH_SHORT).show();
}
});
// Adding request to request queue
AppController.getInstance().addToRequestQueue(jsonObjReq);
}
好。我在chrome中使用邮递员来验证我所回忆的临时令牌是否有效。 (我添加私钥,加密md5并尝试邮递员)。现在奇怪的事情开始了。使用此临时密钥创建的令牌无效,但如果我使用网页中的令牌,则它可以正常工作。
有任何意义吗?如果有人能帮助我,我将非常感激。
答案 0 :(得分:1)
使用此方法。我测试了这段代码,它运行正常。
输出
05-21 16:56:47.477:E / data(22710):647b9ee6151f2bc72a2e737c2ac7da61 **
public void getTemporalToken() {
RequestQueue queue= Volley.newRequestQueue(getApplicationContext());
String url_temporal_token= "http://casting.haikoservices.com/service/create_token";
JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.GET,url_temporal_token,null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
String temporal_token = response.getString("token");
Log.e("data", temporal_token);
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(),
"Error: " + e.getMessage(),
Toast.LENGTH_LONG).show();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(), "OnError"+error.getMessage(), Toast.LENGTH_SHORT).show();
}
});
queue.add(jsonObjReq);
// Adding request to request queue
}