Chrome调试工具的“端口转发”功能对原生应用程序和Webview应用程序都有效吗?

3
我正在使用基于Cordova的混合应用程序,通过Chrome端口转发来进行AJAX调用,对于从HTML / JavaScript发起的请求工作正常。如预期所示,指向http://localhost:8080的AJAX调用将转发到我的桌面上,在那里我的开发服务器在端口80上运行Apache。请参见下面的图像。
然而,我的应用程序还使用本地代码进行HTTP请求(我正在注册GCM消息)。据我所知,端口转发并不适用于该请求。
我正在使用标准Java(没有特殊的HTTP客户端类或其他内容):
URLConnection yc = registration_url.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(
                yc.getInputStream()));
String inputLine;
etc.

有人知道Chrome端口转发是如何工作的吗?它是设备操作系统级别的代理还是某种内置于WebView中的代理?有人能够通过本地代码使其正常工作吗?

提示:我可以将我的GCM注册转换为Javascript,但希望避免这项工作。

输入图像描述


如果您不熟悉端口转发,请参考:https://developer.chrome.com/devtools/docs/remote-debugging#port-forwarding - Charlie Dalsass
1个回答

1
看起来Chrome端口转发只在WebView内有效。对于本地代码,我运行了adb端口转发,那个有效。
adb forward tcp:8080 tcp:80

在一个同时使用Javascript网络调用和本地网络调用的应用程序中,我需要运行这两个工具。

如果有任何关于如何运作的评论将非常有帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接