经过几天徒劳的搜索和尝试各种建议和示例后,我仍在为此苦苦挣扎。
情况是我们正在开发一个针对开发系统的 Android 应用程序(即不对外开放使用)。它有一个自签名证书。实时系统将有一个“正确的”证书,所以我真的不想为了开发它而禁用证书检查。
我收到的错误是 401 授权错误。我已经通过提琴手尝试了使用授权凭据的请求,并且 REST 服务运行良好。
该证书位于用户下设备上的受信任凭据存储中。
这是建立连接的代码。
try {
StringBuilder pathName = new StringBuilder();
StringBuilder data = new StringBuilder();
pathName.append(getApiCall()+ path);
URL url = new URL(pathName.toString());
HttpsURLConnection urlConnection = (HttpsURLConnection) url.openConnection(Proxy.NO_PROXY);
urlConnection.setRequestProperty("Autorization", getCredentials());
urlConnection.setDoInput(true);
urlConnection.setRequestMethod("GET");
urlConnection.setRequestProperty("Content-Type", "application/json");
try
{
InputStream in = urlConnection.getInputStream();
BufferedReader r = new BufferedReader(new InputStreamReader(in));
while ( r.readLine() != null)
{
String dataLine = r.readLine();
data.append(dataLine);
}
}
catch (Exception ex2)
{
int freda = urlConnection.getResponseCode();
String fred = urlConnection.getResponseMessage();
data.append("ERROR");
}
finally
{
urlConnection.disconnect();
}
return data.toString();
}
catch (Exception e)
{
return "ERROR";
}
如果有人能指出我正确的方向,我将不胜感激。
谢谢
史蒂夫