import org.glassfish.jersey.client.ClientConfig; import org.glassfish.jersey.client.HttpUrlConnectorProvider; import org.glassfish.jersey.client.JerseyClientBuilder; import org.glassfish.jersey.client.JerseyInvocation; import org.glassfish.jersey.client.JerseyWebTarget; import javax.ws.rs.client.Client; import javax.ws.rs.client.Entity; import javax.ws.rs.client.WebTarget; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; public class MyJerseyClient { public static void main(String[] args) { ClientConfig config = new ClientConfig(); config.property(HttpUrlConnectorProvider.SET_METHOD_WORKAROUND, true); Client client = JerseyClientBuilder.newClient(config); WebTarget target = client.target("http://example.com/api/endpoint"); Response response = target.request(MediaType.APPLICATION_JSON) .post(Entity.json("{\"key\":\"value\"}")); if (response.getStatus() == Response.Status.OK.getStatusCode()) { String responseBody = response.readEntity(String.class); System.out.println(responseBody); } else { System.err.println("Request failed with status: " + response.getStatus()); } response.close(); client.close(); } } <dependencies> <!-- Jersey client --> <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-client</artifactId> <version>2.34</version> </dependency> <!-- Jersey Apache HTTP Client connector --> <dependency> <groupId>org.glassfish.jersey.connectors</groupId> <artifactId>jersey-apache-connector</artifactId> <version>2.34</version> </dependency> </dependencies> import org.apache.http.conn.ssl.NoopHostnameVerifier; import org.apache.http.conn.ssl.SSLConnectionSocketFactory; import org.apache.http.ssl.SSLContextBuilder; import javax.net.ssl.HostnameVerifier; import javax.net.ssl.SSLContext; import java.security.KeyManagementException; import java.security.KeyStoreException; import java.security.NoSuchAlgorithmException; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; public class MyJerseyClient { public static void main(String[] args) throws KeyStoreException, NoSuchAlgorithmException, KeyManagementException { SSLContext sslContext = SSLContextBuilder.create() .loadTrustMaterial((chain, authType) -> true) .build(); HostnameVerifier hostnameVerifier = NoopHostnameVerifier.INSTANCE; ClientConfig config = new ClientConfig(); config.property(HttpUrlConnectorProvider.SET_METHOD_WORKAROUND, true); config.property(ApacheClientProperties.DISABLE_COOKIES, true); config.connectorProvider(new ApacheConnectorProvider()); config.connectorProvider(new ApacheConnectorProvider()); config.sslContext(sslContext); config.property(ApacheClientProperties.SSL_CONFIG, new SSLConnectionSocketFactory(sslContext, hostnameVerifier)); // Rest of the code... } }


上一篇:
下一篇:
切换中文