有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

https Java:模拟wget nocheckcertificate

我必须用java模拟以下wget命令:

wget.exe --no-check-certificate --user utente --password pordine - https://x.x.x.x:YYYY/jsonContent

我几乎做到了,但有些地方出了问题,因为——我想——我无法设置选项——没有我在命令行命令中拥有的检查证书

以下是我的主要观点:

//main
    URL url;
    try {
        url = new URL("https://x.x.x.x:YYYY/jsonContent");
        HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();

        String userPassword = "utente:pordine";
        String encoded = Base64.getEncoder().encodeToString((userPassword).getBytes(StandardCharsets.UTF_8));

        conn.setRequestProperty("Authorization", "Basic "+encoded);
        conn.setRequestMethod("GET");
        conn.setRequestProperty("Accept", acceptProperty);
        //hOW TO SIMULATE THE OPTION --no-check-certificate ?

        System.out.println("Response Code : " + conn.getResponseCode()); //500

        BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));

    } catch ...

而且。。。以下是我得到的错误:

java.io.IOException: Server returned HTTP response code: 500 for URL: https://x.x.x.x:YYYY/basicAuth

==更新==

我回到问题上来;我修改了服务器部分,以提供更多日志。我更接近根本原因。 服务器有一个类来管理身份验证:AuthManager。这是注入的,所以我重写了这个类的构造函数,以便在每次调用它时都进行日志记录

当我通过浏览器访问URL时,构造函数AuthManager()会被调用一次,并且在整个会话期间会保留有关身份验证的值。 但是,当我通过脚本访问同一URL时,构造函数会被调用两次:在第一次调用之后,AuthManager中设置了一些信息,但之后,对象会被第二次调用构造函数覆盖。新对象将不会设置一些变量,当需要这些数据时,将启动异常

你知道如何更改我的脚本以?我会继续写更多的信息。 看来我需要一个单身汉之类的东西来参加会议——或者类似的东西


共 (0) 个答案