J2ME使用Socket通过cmwap接入点访问安全HTTPS

发表于:2009-8-28 10:25

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:网络转载

  尝试方法二:

  针对以上设想,我们将代码修改一下,想方设法让cmwap代理知道我们要访问的目标地址属于HTTPS:443。

  修改程序的第6行,使其变成:

  String host = "ebs.95559.com.cn:443";

  运行,控制台还是输出了以下错误:

  Response Code: 500
  Response Stream:
  <?xml version="1.0"?>
  <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" http://www.wapforum.org/DTD/wml_1.1.xml>
  <wml><card>
  <p><do type="prev" name="Back" label="Back"><prev/></do>Your request for a service could not be fulfilled. Please try again or c
  ontact your operator if the problem persists. </p></card></wml>

  原因分析:不详。

  尝试方法三:

  以上两种方法都行不通,有没有可能cmwap代理服务器开通了SSL端口,来让应用程序通过此端口来访问HTTPS呢?

  将代码第5行修改如下:

  conn = (HttpConnection) Connector.open(https://10.0.0.172:443/corporbank/es_logon.jsp, Connector.READ, true);

  模拟器长时间没有响应。

  原因分析:一般手机自带的浏览器都支持访问HTTPS,而手机设置的cmwap代理地址都是10.0.0.172:80。所以可以肯定的是手机是可以通过10.0.0.172:80这个代理访问HTTPS而并不是10.0.0.172:443。上网查了资料,证明移动针对cmwap代理只开通了80 端口,而并没有开通443端口。

  尝试方法四(成功):

  经过了以上三次失败,我不得不好好静下心来想想解决方法。我想到了使用OTA的方式,让PC连接到GPRS上进行调试。首先使用数据线连接电脑和手机,将电脑的本地连接禁用,把手机当猫用,创建基于手机拨号的网络连接,输入号码“*99#”,拨号,连接。给浏览器设置好代理 10.0.0.172:80后,能够正常浏览HTTPS地址。我忽然想到,既然HttpConnection不能够正常通过cmwap连接HTTPS,那我使用Socket模拟HTTP请求能成功吗?带着这个疑问,我开始进行准备:

  必备工具:

  Wireshark或HttpWatch或Openware Simulator

  最开始我是使用Firefox+Wireshark拦截80端口的包的,但是浏览器向服务器发出SSL Hello后传输的内容都会被加密,Wireshark所看到的都是密文,相当的不方便。如图:

42/4<1234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号