从eclipse调用REST API时,连接时间就会出现



帮助我!我有一个安息的API链接,我使用了Postman Tool Call Success,但是当我在Eclipse上编码一个RESTFULS客户端时,会失败。我尝试了代理,但没有成功。

public class JersyGetClient {
    public static void main(String[] args) {
        String url = "https://abc.custhelp.com/services/rest/connect/v1.4/accounts";
        String name = "thai.hoangan";
        String password = "123456a@";
        String authString = name + ":" + password;
        String authStringEnc = new BASE64Encoder().encode(authString.getBytes());
        System.out.println("Base64 encoded auth string: " + authStringEnc);
        Client restClient = Client.create();
        WebResource webResource = restClient.resource(url);
        ClientResponse resp = webResource.accept("application/json")
                .header("Authorization", "Basic " + authStringEnc)
                .header("OSvC-CREST-Application-Context", "asd")
                .get(ClientResponse.class);
        if (resp.getStatus() != 200) {
            System.err.println("Unable to connect to the server");
        }
        String output = resp.getEntity(String.class);
        System.out.println("response: " + output);
    }
}

输出:

线程中的异常" main" com.sun.jersey.api.client.clienthandlerexception:

java.net.connectException:连接时间:连接 在com.sun.jersey.client.urlconnection.urlconnectionclienthandler.handle(urlConnectionClientHandler.java:155) 在com.sun.jersey.api.client.client.handle(client.java:652) 在com.sun.jersey.api.client.webresource.handle(webresource.java:682) 在com.sun.jersey.api.client.webresource.Access $ 200(webresource.java:74) 在com.sun.jersey.api.client.webresource $ builder.get(webresource.java:509) 在JersygetClient.main(gersygetclient.java:22) 引起:java.net.connectException:连接时间:连接 在java.net.dualstackplainsocketimpl.connect0(本机方法) 在java.net.dualstackplainsocketimpl.socketConnect(dualstackplainsocketimpl.java:79) 在java.net.abstractplainsocketimpl.doconnect上 在java.net.abstractplainsocketimpl.connectToAddress(Abstractplainsocketimpl.java:206) 在java.net.abstractplainsocketimpl.connect(AbstractPlainSocketImpl.java:188) 在java.net.plainsocketimpl.connect(plainsocketimpl.java:172) 在java.net.socksocketimpl.connect(socksocketimpl.java:392) 在java.net.socket.connect(socket.java:589) 在sun.security.ssl.sslsocketimpl.connect(sslsocketimpl.java:668) 在sun.security.ssl.basesslsocketimpl.connect(basesslsocketimpl.java:173) 在sun.net.networkclient.doconnect(NetworkClient.Java:180) 在sun.net.www.http.httpclient.openserver(httpclient.java:432) 在sun.net.www.http.httpclient.openserver(httpclient.java:527) 在sun.net.www.protocol.https.httpsclient。(httpsclient.java:264) 在sun.net.www.protocol.https.httpsclient.new(httpsclient.java:367) at sun.net.www.protocol.https.abstractdelegatehtpsurlconnection.getNewhttpClient(AbstractDelegateHttpSurlConnection.java:191) 在sun.net.www.protocol.http.httpurlconnection.plainConnect0(httpurlConnection.java:1105) 在sun.net.www.protocol.http.httpurlconnection.plainconnect(httpurlConnection.java:999) 在sun.net.www.protocol.https.abstractdelegatehtpsurlconnection.connect(AbstractDelegateHttpSurlConnection.java:177) 在sun.net.www.protocol.http.httpurlconnection.getinputstream0(httpurlConnection.java:1513) 在sun.net.www.protocol.http.httpurlconnection.getinputstream(httpurlConnection.java:1441) 在java.net.httpurlconnection.getResponsecode(httpurlConnection.java:480) 在sun.net.www.protocol.https.httpsurlconnectionimpl.getResponsecode(httpsurlconnectionimpl.java:338) 在com.sun.jersey.client.urlconnection.urlconnectionclienthandler._invoke(urlConnectionClientHandler.java:253) 在com.sun.jersey.client.urlconnection.urlconnectionclienthandler.handle(urlConnectionClientHandler.java:153) ... 5更多

哦,我解决了,只需添加:

    System.setProperty("https.proxyHost", "proxytest.vcb");
    System.setProperty("https.proxyPort", "8080");

最新更新