在android上https到http反向代理应用程序?

 手机用户2602917255 发布于 2023-02-09 12:42

我正在尝试设置一个解决方案,允许直接在Android平板电脑上完整调试javascript代码.这是一个在标准移动浏览器(如Chrome或Firefox)中运行的HTML5应用,需要调试."完全"是指需要设置断点并逐步执行代码(in,over,out)的能力.

能够直接在设备上进行调试对于远程调试的PC不可用的现场情况非常重要.在某些时候,将需要调试具有脱机功能的Web应用程序的能力,代理服务器将不必执行任何操作,假设前端代码已经加载到浏览器中和/或在丢失网络连接之前缓存在设备上,但这不是这个问题的焦点.

我能够得到一个Weinre解决方案,但发现Weinre没有设置断点或单步执行代码的能力.然后我发现了jsHybugger应用程序,一个付费产品,我可以在平板电脑上运行,代理请求到服务器,然后提供调试界面,我可以使用同一个Android平板电脑设备上的不同浏览器选项卡实际查看.

我遗漏的部分是jsHybugger不支持https,因此不会与提供要调试的代码的服务器通信.使用https而不是http非常重要,因为在服务器和浏览器之间传递敏感信息.由于调试是在现场进行的,因此不像在局域网上缺少https并不那么重要.总是可以在更受控制的设置中进行一些调试,但是在现场中不可避免地会出现错误,这需要使用真实(非虚拟或消毒的http)数据进行"紧急调试".

我知道有反向代理 - 例如我可以很容易地将代理https反向到apache中的http.但问题是,由于平板电脑和服务器之间的连接需要加密,我不能在服务器上进行代理,而且由于另一个(非Android)设备并不总是可用,我需要在平板电脑.到目前为止,我还没有发现任何应用程序显然看起来他们会做我需要的.例如,我看过i-Jetty,因为我已经读过Jetty(基于它)可以做我正在寻找的东西,但我在代理上看到的所有例子都是Java代码,我想避免需要为此自己编写任何代码.我也看过Fiddler,但它似乎没有在Android上运行,尽管大胆宣称它是"任何浏览器,系统或平台的免费网络调试代理".显然,无论您使用什么平台或语言开发,"Fiddler都会随时为您提供帮助".在这种情况下是错误的.我还查看了Google Play商店中的各种应用,却没有找到任何内容.也许这个功能并没有突出显示,我错过了它.希望有一些应用程序已经做了我需要的最少的配置摆弄.理想情况下它不需要root; 如果它确实不是一个显示停止,但它不太优选作为生根只是为了能够调试可能是一个麻烦,因为我们没有其他任何需要它,并且一些设备比其他设备更加繁琐.

或者,如果有更好的方法来完成我想要做的事情,我会接受这个作为答案.

1 个回答
  • 正如您所提到的,您的开发主要是在SDK上,我认为您可以找到可供调试的选项是Dalvik Debug Monitor Server(DDMS).它被称为最强大的Android调试工具之一,有Dalvik Debug Monitor Server.

    特别是对于HTTPS,Google App Engine将此功能作为您感兴趣的HTTP/HTTPS代理提供:gae-go-testing.看看Github上也可以使用的这个开源项目,它似乎可以利用Google App Engine中的一些工具,这些工具也可以在Google Play上作为已发布的应用程序使用.

    作为替代方案,您可以考虑在开发服务器中运行该应用程序,并使用Selenium来执行测试.

    2023-02-09 12:44 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有