JRTClient打开谷歌

news2024/11/18 3:42:06

网站默认已经启动https访问,这时候JRTClient发布wss需要浏览器信任证书才能访问打印。为此在JRTClient内部发布了HTTPS服务,有时候浏览器信任的证书会丢失或者被清理掉,这时候需要手工信任下,当然用JRTBrowser就不用信任证书,对开始和实施还是使用Chrome方便。所以给JRTClient加上右键HTTPS按钮和主界面加上按钮供开发和实施信任证书。

涉及到的技术就是找到谷歌exe地址,打开URL,需要在Windows下访问注册表得到。Linux用命令驱动,代码看下面。

驱动谷歌浏览器打开https链接
在这里插入图片描述
修复A4旋转纸张bug
在这里插入图片描述

java驱动谷歌浏览器

package Monitor.Util;

import java.io.BufferedReader;
import java.io.File;
import java.io.InputStreamReader;
import java.nio.file.Paths;
import java.util.prefs.Preferences;

/**
 * 用谷歌打开页面
 */
public class ChomeOpenUtil {

    /**
     * 打印页面
     *
     * @param url 路径
     * @throws Exception
     */
    public static void OpenUrl(String url) throws Exception {
        //获取操作系统类型
        String os = System.getProperty("os.name").toLowerCase();
        //根据操作系统类型调用不同的命令
        if (os.contains("win")) {
            String path = GetChromePath();
            if (!path.isEmpty()) {
                File file = new File(path);
                if (file.exists()) {
                    //使用Runtime.exec执行命令
                    Runtime.getRuntime().exec(path + " "+ url);
                    return;
                }
            }
            //使用Runtime.exec执行命令
            Runtime.getRuntime().exec("cmd /c start " + url);

        } else if (os.contains("nix") || os.contains("nux") || os.contains("mac")) {
            //Linux or Mac
            //使用ProcessBuilder创建一个进程
            ProcessBuilder pb = new ProcessBuilder("google-chrome", url);
            Process p = pb.start();
        } else {
            System.out.println("Unsupported OS");
        }
    }

    /**
     * 得到谷歌程序地址
     *
     * @return
     * @throws Exception
     */
    private static String GetChromePath() throws Exception {
        String path = GetExeRegedit("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\chrome.exe");
        if (path.isEmpty()) {
            path = GetExeRegedit("HKEY_LOCAL_MACHINE\\HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\chrome.exe");
        }
        if (!path.isEmpty()) {
            path += "\\chrome.exe";
        }
        return path;
    }

    /**
     * 得到注册表值
     *
     * @param path 执行路径
     * @return
     * @throws Exception
     */
    private static String GetExeRegedit(String path) throws Exception {
        Process ps = null;
        //当路径中有空格时,要把路径打上引号。
        ps = Runtime.getRuntime().exec("reg query \"" + path + "\"");
        ps.getOutputStream().close();
        InputStreamReader i = new InputStreamReader(ps.getInputStream());
        String line;
        BufferedReader ir = new BufferedReader(i);
        String ret = "";
        while ((line = ir.readLine()) != null) {
            if (line.contains("Path")) {
                String[] arr = line.split("    ");
                ret = arr[arr.length - 1];
            }
        }
        return ret;
    }
    
}

JRT开发基本接近尾声了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1359200.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity中Shader序列帧动画(U、V方向的走格)

文章目录 前言一、U方向的走格1、 要实现移动的效果,我们就会想到使用_Time2、使用floor向下取整3、把x、y缩小为原函数的 Column倍4、使用_Sequence的z控制帧动画U方向上的速度 二、U方向的走格三、最终效果1、亚丝娜2、小蓝帽3、火4、最终代码 前言 在上一篇文章…

网易数帆codewave低代码平台:页面和数据逻辑搭建

注:我本打算将页面和数据逻辑搭建分成多个文章来发布,这样流量可能会多一些。但考虑到学习的连贯性和读者使用的便利性,最终决定将这部分内容融合在一篇文章中。 1 创建页面 1.1 系统默认页面 创建应用时系统会默认创建 6 个页面,分别是: login 登录页面:开启权限控制…

【LeetCode刷题笔记】344.反转字符串

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 更多算法知识专栏&#xff1a;算法分析&#x1f525; 给大家跳段街舞感谢…

frp配置内网穿透访问家里的nas

frp配置内网穿透访问家里的nas 需求 家里局域网内有台nas&#xff0c;在去公司的路上想访问它 其内网地址为&#xff1a; http://192.168.50.8:6002 工具 1.frp版本v0.53.2 下载地址&#xff1a; https://github.com/fatedier/frp/releases/download/v0.53.2/frp_0.53.2_li…

【Python机器学习】k近邻——模型复杂度与泛化能力的关系

以某数据进行研究&#xff0c;先将数据集分为训练集和测试集&#xff0c;然后用不同的邻居数对训练集合测试集的新能进行评估&#xff1a; from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split from sklearn.neighbors imp…

性能优化-OpenMP基础教程(四)-Android上运行OpenMP

本文主要介绍如何在一个常规的Android手机上调试OpenMP程序&#xff0c;包括Android NDK的环境配置和使用JNI编写一个OpenMP程序运行在Android手机中。 &#x1f3ac;个人简介&#xff1a;一个全栈工程师的升级之路&#xff01; &#x1f4cb;个人专栏&#xff1a;高性能&#…

【Linux进程】 进程的理解

目录 前言 1. 系统管理 2. 进程 2.1 概念 2.2 进程的调度 2.3 描述进程-PBC 3. 查看进程 4. 通过系统调用获取进程标示符 前言 在计算机科学领域&#xff0c;进程是一种重要的概念&#xff0c;在日常学习中也经常遇到进程这个概念&#xff0c;那么进程到底是什么&#x…

解决:ModuleNotFoundError: No module named ‘zhon’

解决&#xff1a;ModuleNotFoundError: No module named ‘zhon’ 文章目录 解决&#xff1a;ModuleNotFoundError: No module named zhon背景报错问题报错翻译报错位置代码报错原因解决方法方法一&#xff0c;直接安装方法二&#xff0c;手动下载安装方法三&#xff0c;编译安…

Spring学习 Spring概述

1.1.Spring介绍 ​ Spring是轻量级Java EE应用开源框架&#xff08;官网&#xff1a; http://spring.io/ &#xff09;&#xff0c;它由Rod Johnson创为了解决企业级编程开发的复杂性而创建 1.2.简化应用开发体现在哪些方面&#xff1f; IOC 解决传统Web开发中硬编码所造成的…

深入理解经典红黑树 | 京东物流技术团队

本篇我们讲红黑树的经典实现&#xff0c;Java中对红黑树的实现便采用的是经典红黑树。前一篇文章我们介绍过左倾红黑树&#xff0c;它相对来说比较简单&#xff0c;需要大家看完上篇再来看这一篇&#xff0c;因为旋转等基础知识不会再本篇文章中赘述。本篇的大部分内容参考 《算…

安全测试之SSRF请求伪造

前言 SSRF漏洞是一种在未能获取服务器权限时&#xff0c;利用服务器漏洞&#xff0c;由攻击者构造请求&#xff0c;服务器端发起请求的安全漏洞&#xff0c;攻击者可以利用该漏洞诱使服务器端应用程序向攻击者选择的任意域发出HTTP请求。 很多Web应用都提供了从其他的服务器上…

软件测试——自动化测试框架有哪些?

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;软件测试面试题分享&#xff1a; 1000道软件测试面试题及答案&#x1f4e2;软件测试实战项目分享&#xff1a; 纯接口项目-完…

2024年某书最新x-s-common签名算法分析以及点赞api接口测试nodejs(2024-01-05)

2024年某书又更新了x-s-common算法&#xff0c;现在的版本是&#xff1a;3.6.8。这个签名算法现在是越来越重要了&#xff0c;许多接口都要用到。比如&#xff1a;评论&#xff0c;点赞等接口&#xff0c;没有这个算法采集不到数据。 一、chrome逆向x-s-common算法 1、x-s-comm…

ReactNative 常见问题及处理办法(加固混淆)

目录 文章目录 摘要 引言 正文 ScrollView内无法滑动 RN热更新中的文件引用问题 RN中获取高度的技巧 RN强制横屏UI适配问题 低版本RN&#xff08;0.63以下&#xff09;适配iOS14图片无法显示问题 RN清理缓存 RN navigation参数取值 pod install 或者npm install 44…

JavaWeb基础(3)-会话技术(cookie和session),过滤器(Filter),监听器(Listener)

JavaWeb基础&#xff08;3&#xff09;-会话技术(cookie和session)&#xff0c;过滤器(Filter)&#xff0c;监听器(Listener) 文章目录 JavaWeb基础&#xff08;3&#xff09;-会话技术(cookie和session)&#xff0c;过滤器(Filter)&#xff0c;监听器(Listener)8 会话技术(Coo…

ChatGPT怎么帮我上班的

1.解放生产力 1&#xff09;标准格式&#xff0c;完美输出。GPT对于公文等具有一定标准格式的文件&#xff0c;可以进行完美仿写&#xff0c;随随便便以假乱真那都是小菜一碟&#xff0c;这对于经常要开展规范成文的人来说&#xff0c;简直就是个福音&#xff0c;只要前期调教…

[蓝桥杯学习]树的直径与重心

树的直径 定义 为什么不直接说&#xff08;u,v&#xff09;是两个叶子&#xff0c;可能有如下情况&#xff1a; 这是一条链&#xff0c;且u为根&#xff0c;但&#xff0c;度数为1 下面这个情况是不经过根的。 求解方法 如果设根u的深度为0时&#xff0c;直径就是深度dep[v]…

【LeetCode】608. 树节点

表&#xff1a;Tree ------------------- | Column Name | Type | ------------------- | id | int | | p_id | int | ------------------- id 是该表中具有唯一值的列。 该表的每行包含树中节点的 id 及其父节点的 id 信息。 给定的结构总是一个有效的树。…

软件测试|弄懂GROUP BY看这一篇文章就够了

简介 在SQL&#xff08;结构化查询语言&#xff09;中&#xff0c;GROUP BY子句是一个强大的工具&#xff0c;用于对查询结果进行分组和聚合操作。通过使用GROUP BY子句&#xff0c;可以根据指定的列或表达式对数据进行分组&#xff0c;并对每个分组应用聚合函数&#xff0c;从…

光明源@智慧厕所技术:优化生活,提升卫生舒适度

在当今数字科技飞速发展的时代&#xff0c;我们的日常生活正在经历一场革命&#xff0c;而这场革命的其中一个前沿领域就是智慧厕所技术。这项技术不仅仅是对传统卫生间的一次升级&#xff0c;更是对我们生活品质的全方位提升。从智能感应到数据分析&#xff0c;从环保设计到舒…