HttpURLConnection调connect方法抛出java.net.ConnectException: Connection refused: connect

代码

 HttpURLConnection con = null;

        String result = null;

        try {

            URL url = new URL("https://www.xxx.xxx/xxx/xxx");

            con = (HttpURLConnection) url.openConnection();

            con.setRequestMethod("GET");

            con.setConnectTimeout(5000);

            con.setReadTimeout(1000);

            con.setDoOutput(false); // post改为true

            con.setDoInput(true);

            con.setUseCaches(false);

            con.setRequestProperty("Content-Type", "text/plain");

            con.connect();

            int code = con.getResponseCode();



// 读取返回内容

            StringBuffer buffer = new StringBuffer();

            BufferedReader br = new BufferedReader(new InputStreamReader(

                    con.getInputStream(), "UTF-8"));

            String temp;

            while ((temp = br.readLine()) != null) {

                buffer.append(temp);

                buffer.append("\n");

            }

            result = buffer.toString().trim();


        } catch (Exception e) {
            e.printStackTrace();
        } finally {

            con.disconnect();

        }
        System.out.println(result);
        //return result;

报错

java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
at java.net.Socket.connect(Socket.java:606)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:287)
at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
at sun.net.www.protocol.https.HttpsClient.(HttpsClient.java:292)
at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:395)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:203)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:189)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:167)
at com.huato.util.kit.demo.main(demo.java:34)



这url 不通呀。URL那里地址给改下。URL url = new URL("https://www.xxx.xxx/xxx/xxx"); 首先url得ping得通

https,是不是需要加密证书配置啊,你自己的测试环境下也是访问的https地址吗

那把你的url拿出来,不会又是什么127.0.0.1或者是局域网地址吧

img