如何修复访问JIRA的javax.net.ssl.SSLHandShakeException

时间:2018-09-21 11:40:09

标签: java credentials sslhandshakeexception httpsurlconnection

我想将JIRA中的问题与其他数据源进行匹配。 我可以使用curl:

  

curl -u myname:mypassword   https://jira.myorganization.com/rest/api/latest/issue/TR-1234

这将返回我要检查某些数据的有关问题的信息,例如TR-1234。

在Java中,我想做同样的事情,但得到javax.net.ssl.SSLHandShakeException

我尝试运行的程序:

    import javax.net.ssl.HttpsURLConnection;
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;

    public class Main {

        public static void main(String[] args) {


            URL url = null;
            try {
                url = new URL("https://jira.myorganization.com/rest/api/latest/issue/TR-1234");

            HttpsURLConnection con = (HttpsURLConnection) url.openConnection();

String userpass = "myusername:mypassword";
        String basicAuth = "Basic " + new String(Base64.getEncoder().encode(userpass.getBytes()));
        con.setRequestProperty ("Authorization", basicAuth);
con.setRequestMethod("GET");
            con.setRequestProperty("Accept", "application/json");

            System.out.println("Resp="+ con.getResponseCode()+" "+con.getResponseMessage());

            String contentType = con.getHeaderField("Content-Type");

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

            String output;
            System.out.println("Output from Server .... \n");
            while ((output = br.readLine()) != null) {
                System.out.println(output);
            }

            con.disconnect();
            } catch (IOException e) {
                e.printStackTrace();
            }

        }
    }

我可以通过某种方式将用户ID和密码传递给URL。该应用程序是一种工具,可以让用户输入其名称和密码。

0 个答案:

没有答案