jersey编写restful客户端

本文介绍如何利用Jersey客户端实现HTTP和HTTPS访问,通过资源对象和客户端响应来发送RESTful接口消息,包括配置SSL上下文和主机名验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近做一个消息发送工具,采用jersery客户端访问restful接口发送消息,消息发送代码记录一下,希望对大家有帮助:

1、http访问

Client c = Client.create();  
   WebResource r=c.resource(restfulSendUrl);
   ClientResponse response = r.header("Content-Type", restfulMessageHead).post(ClientResponse.class,message);
   log.info("返回:"+response.getEntity(String.class));

2、https访问

 public static void sendHttpsMessage() throws Exception{

   HostnameVerifier hv = getHostnameVerifier();
   ClientConfig config = new DefaultClientConfig();
   SSLContext ctx = getSslContext();
   config.getProperties().put( HTTPSProperties.PROPERTY_HTTPS_PROPERTIES,
       new HTTPSProperties( hv, ctx ) );

   Client jerseyClient = Client.create( config );

     WebResource wr = jerseyClient.resource( "https://192.168.71.130:9443/loginserver/rest/client/login" );
     ClientResponse cr = wr.header("Content-Type", "application/xml").post(ClientResponse.class,"123");
     String entity = cr.getEntity( String.class );
     System.out.println(entity);
     cr.close();
    

 }

 private static HostnameVerifier getHostnameVerifier() {
   HostnameVerifier hv = new HostnameVerifier() {
  @Override
  public boolean verify(String arg0, SSLSession arg1) {
   return true;
  }
   };
   return hv;
 }

 private static SSLContext getSslContext() throws Exception {     
   SSLContext sslContext = SSLContext.getInstance( "SSL" );
   sslContext.init(null, new TrustManager[] {
     new X509TrustManager() {
           public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[0]; }
           public void checkClientTrusted( X509Certificate[] certs, String authType ) {}
           public void checkServerTrusted( X509Certificate[] certs, String authType ) {}
         }

   }, new SecureRandom()
 );
   return sslContext;
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值