我正在调用我们的一个http服务,它可以通过http或https协议调用。 生成请求的代码是相同的。它是一个HttpClient,它传递参数
final MultipartEntity reqEntity = new MultipartEntity();
for (FormBodyPart bodyPart : requestParameters(username, password, format, version)) {
reqEntity.addPart(bodyPart);
}
final HttpPost httpPost = new HttpPost(getUrl());
httpPost.setEntity(reqEntity);
final HttpResponse response = getHttpClient().execute(httpPost);
现在,真正奇怪的问题是:当getUrl()返回服务URL的http版本时 - 一切正常。但是,如果我通过https替换url协议的属性,它开始省略参数。例如,它肯定省略了密码参数。我在我调用的服务的日志中看到它 - 当我使用https url时 - 密码参数为空,就好像它从未被传递过一样。 为什么这样的事情会发生?有人见过它吗?
是否可以因为呼叫方的ssl加密密码而不是服务端的ssl解密密码?我在哪里可以阅读更多相关信息?