【发布时间】:2020-05-01 20:31:31
【问题描述】:
Rest API 可以在 Postman 中使用 chrome,但是当尝试从 android 应用程序发出相同的请求时,仅在以下情况下有效: 在邮递员中执行请求(例如 POST 请求 A),运行 android 应用程序,我得到 POST REQUEST A 的预期结果。对于不同的 POST 请求(例如 POST REQUEST B),我必须再次执行 POST REQUEST B在 POSTMAN 中,然后在我的应用程序中执行操作。在不执行 POST REQUEST B 时,会在我的应用程序中获得 POST REQUEST A 的响应。
同样在超时一段时间后,如果我只是运行发出 POST 请求的 android 应用程序,我会收到以下错误: {"message":"缺少身份验证令牌"}
当尝试从浏览器访问url对象中提供的链接时,甚至会得到上述错误消息 URL url = 新 URL("LINK");
出现上述问题的原因可能是什么?
Code snippet:
URL url = new URL(LINK);
con = (HttpURLConnection) url.openConnection();
InputStream errorStream = con.getErrorStream();
if (errorStream != null) {
BufferedReader br1 = new BufferedReader(new
InputStreamReader(errorStream));
String errorInConnection = readStream(br1);
Log.d(TAG, "errorInConnection:"+errorInConnection);
}
con.setRequestProperty("Authorization", "no auth");
con.setRequestMethod("POST");
con.setRequestProperty("Content-Type", "application/json");
con.setRequestProperty("Accept", "application/json");
con.setDoOutput(true);
con.setChunkedStreamingMode(0);
In POSTMAN:
{
"data": {
"currLat":some cordinate,
"currLong":some coordinate
},
"datatype": "geodata"
}
Header:
Key - Content-Type
Value - application/json
【问题讨论】:
-
能否请您发布您的问题的代码 sn-p。
-
你能把你在android studio中使用的代码和postman中api的body和header贴出来
-
如上编辑的是代码sn-p
-
在 openConnection() 之后不久,我总是收到 Missing Authentication Token