我们开发了一个应用程序,它在桌面和移动网络上运行完美,并带有verisign证书(https)。我们开发了iOS和android cordova应用程序,它与http服务器一起工作正常。为了生产,他们启用了SSL。由于ajax调用响应,iOS和Android混合应用程序无法正常工作。我收到的http和https的响应如下。客户端或其所有关于SSL的更改是否需要? SSL解码响应有什么解决方法吗?我们正在使用IBM的websphere应用服务器。
来自http服务器的响应
[{"SALT":"3FzekTIywrmm9jojnfHn11"}]
来自https服务器的响应
<html>
<head>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1"></head><body>
<script type=text/javascript>
function decode_base64(input){
var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";
var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9+/=]/g,"");
while(i<input.length){
enc1=keyStr.indexOf(input.charAt(i++));
enc2=keyStr.indexOf(input.charAt(i++));
enc3=keyStr.indexOf(input.charAt(i++));
enc4=keyStr.indexOf(input.charAt(i++));
chr1=(enc1<<2)|(enc2>>4);
chr2=((enc2&15)<<4)|(enc3>>2);
chr3=((enc3&3)<<6)|enc4;output=output+String.fromCharCode(chr1);if(enc3!=64){
output=output+String.fromCharCode(chr2)
}
if(enc4!=64){
output=output+String.fromCharCode(chr3)}}return output;
}
document.write(decode_base64("PHNjcmlwdCB0eXBlPXRleHQvamF2YXNjcmlwdD52YXIgdG9fZGVjPWRlY29kZV9iYXNlNjQoImNtUjFWV2hzWkc1MGRTbG5kRzlpZFdodWJ5RXBLSG9oWlc1aWRHeGtiM1V2Ylc1aVlIVm9ibTg4SXk0eGUzRnZMaU02SVh3dElUQXhNVEVvIik7IGRlY19yZXM9IiI7IHZhciB4b3Jfa2V5PTE7IGZvcihpPTA7aTw2MDtpKyspeyBkZWNfcmVzKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHhvcl9rZXledG9fZGVjLmNoYXJDb2RlQXQoaSkpO30gZXZhbChkZWNfcmVzKTs8L3NjcmlwdD4="));
</script>
</body>
</html>
答案 0 :(得分:0)
这是一种非常奇怪的方式来返回错误消息,但您的HTTPS服务器正在告诉
i18n-values: Missing value for "primaryParagraph"
你可以通过
看到回答你的问题:从客户端编码的角度来看,HTTP和HTTPS调用之间并没有太大区别。浏览器倾向于非常有效地隐藏它们,尽管在HTTPS调用等方面性能通常较弱。