javascript - 忽略 Chrome 应用程序/扩展中的 HSTS

标签 javascript google-chrome ssl google-chrome-extension hsts

我正在编写用于诊断网络服务的 Chrome 打包应用程序。我希望能够向 URL 发送 GET 请求并查看响应中的 header 和数据。

我的问题是,如果用户在使用我的应用程序之前访问了一个设置了 HSTS header 的网站,那么我的应用程序将无法向该域的 http://URL 发送 GET 请求,因为 Chrome 会自动转换 http://在发送请求之前指向 https://的 URL。

我能做些什么来防止这种情况发生吗?我查看了 webrequest API 和 webview 标签,但没有发现任何可以让我忽略 HSTS 的内容。

是否可以使用 https://developer.chrome.com/apps/sockets_tcp为此(我需要能够支持 http、https 和 gzip 数据)?

最佳答案

Is there anything at all I can do to prevent this?

可能不会。如果您已经测试过 <webview>并与浏览器共享 HSTS 列表,然后网络层将透明地为您重写。

Is it possible to use chrome.sockets.tcp for this?

从技术上讲,是的,HSTS 应该无关紧要。实际上,您需要从头开始实现类似 wget+SSL+gzip 的东西(在 JS、NaCl 或 native 主机中——但在后一种情况下,您实际上并不需要内置套接字)。

关于javascript - 忽略 Chrome 应用程序/扩展中的 HSTS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38278984/

相关文章:

Chrome 上使用 ARC 的 Android 应用程序,启用后退按钮在顶部

asp.net - XHR 请求时随机出现 ERR_SPDY_PROTOCOL_ERROR

google-chrome - Mathjax 渲染的符号通过 Google Chrome 硬件加速消失

apache - 仅针对 nginx 上的特定 url 使用 https 重定向

php - 验证码 file_get_contents() : SSL operation failed

javascript - AngularJS 架构尚未注册型号 'Post'

javascript - Nightmare JS 并没有以reduce函数结束

ssl - 无法使用 https 启动域

javascript - 移动设备上的溢出问题

javascript - 防止移动用户下载桌面轮播图片