`
冰与火的抉择
  • 浏览: 11944 次
  • 性别: Icon_minigender_2
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

rest接口调用

 
阅读更多
/**
* 心得:一定要关闭流,inStream
* 那也就是用变量接收文件中的值
* @author Administrator
*
*/
public class HttpClientDemo {

private String trustStore = "证书名";
private String keyStorePwd = "pwd";

public void start(){
InputStream inStream = null;

try {
//加载配置文件
Properties prop = new Properties();
FileInputStream fis = new FileInputStream("路径/rest.properties");
inStream = new BufferedInputStream(fis);
prop.load(inStream);

//加载安全证书
KeyStore ks = KeyStore.getInstance("JKS");
ks.load(ClassLoader.getSystemResourceAsStream(trustStore),keyStorePwd.toCharArray());

//SSL:一种保证网络上的恋歌节点进行安全通信的协议
//连接采用tls还是ssl的安全方式
SSLContext sslContext = SSLContext.getInstance("TLS");

X509TrustManager tm = new X509TrustManager(){

@Override
public void checkClientTrusted(X509Certificate[] arg0,
String arg1) throws CertificateException {}

@Override
public void checkServerTrusted(X509Certificate[] arg0,
String arg1) throws CertificateException {}

@Override
public X509Certificate[] getAcceptedIssuers() {
return null;
}

};

KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
kmf.init(ks,"pwd".toCharArray());

sslContext.init(kmf.getKeyManagers(), new TrustManager[]{tm}, new SecureRandom());

SSLSocketFactory socketFactory = new SSLSocketFactory(sslContext,SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);

String url = String.format("https://%s:%s%s", prop.getProperty("ip"),
prop.getProperty("port"),
prop.getProperty("url"));

JSONObject json = new JSONObject();
json.put("param",prop.getProperty("param"));

HttpClient httpClient = new DefaultHttpClient();
//443  https的默认端口号
httpClient.getConnectionManager().getSchemeRegistry().registry().register(new Scheme("https",443,socketFactory));

HttpPost hp = new HttpPost(url);
hp.setHeader("Context-Type","application/json;charset=UTF-8");
hp.setHeader("Accept","application/json;charset=UTF-8");
hp.setEntity(new StringEntity(json.toString()));

HttpResponse httpResponse = httpClient.execute(hp);
HttpEntity entity = hp.getEntity();
httpResponse.getStatusLine().getStatusCode();
EntityUtils.toString(entity,"UTF-8");

} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (KeyStoreException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (CertificateException e) {
e.printStackTrace();
} catch (UnrecoverableKeyException e) {
e.printStackTrace();
} catch (KeyManagementException e) {
e.printStackTrace();
}
finally{
if(null != inStream){
inStream.close();
inStream = null;
}
}

}



}
get,put,delete,post等方法,使用同上

代码中用的证书下次再写,怎么查看证书,内容
分享到:
评论
1 楼 Z865785437029 2016-03-02  
    

相关推荐

    泛微 9.0 rest接口调用说明

    泛微9.0 REST接口调用是一个用于与泛微协同办公系统进行交互的重要技术,它允许开发者通过HTTP请求来执行各种操作,如注册、获取访问令牌、创建流程以及实现单点登录。下面是这些知识点的详细说明: 1. **注册接口*...

    存储REST接口调用使用说明及范例-xiaoqiang1

    存储REST接口调用使用说明及范例-xiaoqiang1 以下是对存储REST接口调用使用说明及范例-xiaoqiang1的知识点总结: 一、Azure REST接口调用概述 Azure提供了各种主流语言的SDK,以适应不同技术需求的客户。这些SDK...

    Java 调用Http Rest接口 例子说明

    #### 三、Java调用REST接口的方法 ##### 3.1 使用Apache HttpClient库 Apache HttpClient是一个用于Java开发者的高效、最新的HTTP客户端库,可以用来构建HTTP客户端应用,包括简单的GET请求以及复杂的POST请求。 ...

    CDN REST接口调用及说明-hexiaoqiang1

    CDN REST接口调用及说明-hexiaoqiang1

    WeClient,一个简单的声明式Rest接口调用组件

    WeClient,一个简单的声明式Rest接口调用组件,类似OpenFeign,只需要两个注解,让开发人员对RestTemplate等客户端的API透明化,不再需要关心调用接口的实现细节,可以像调用本地接口一样调用其它微服务或第三方服务...

    java REST接口测试 测试小例子

    REST接口调用的基本步骤包括: 1. 创建HTTP请求:根据接口的URL、HTTP方法(GET、POST等)创建请求。 2. 设置请求头:比如设置Content-Type(决定发送的数据格式,如application/json或application/x-...

    关于rest接口demo的详解

    元数据管理模块使用 REST 风格的 Web 服务作为元数据操作的外部交互接口,服务端提供唯一的资源定位地址 URI 供客户端调用。客户端通过 HTTP 方法实现对资源的唯一操作,HTTP 方法主要包括 GET、PUT、POST 和 DELETE...

    动态发布rest接口及服务调用

    总的来说,"动态发布REST接口及服务调用"涵盖了使用Jetty和Jersey在Java中构建RESTful服务的基本流程,从接口的定义、发布到调用的全过程。通过这种方式,开发者可以快速地开发和测试REST服务,为分布式系统提供灵活...

    rest 调用有参数接口

    这篇博客文章《REST调用有参数接口》可能详细介绍了如何在Java环境中使用RESTful API进行有参数的请求。 首先,RESTful API的设计原则是使用HTTP方法(GET、POST、PUT、DELETE等)来表示资源的不同操作。当需要传递...

    Java 调用Http Rest接口 例子说明2

    ### Java调用HTTP REST接口详解 #### 一、引言 在现代软件开发中,RESTful API已经成为一种非常流行的架构风格。它不仅简洁而且高效,适用于各种规模的应用程序和服务之间的通信。本文将详细介绍如何使用Java语言...

    C# 实现Rest服务接口,含实现文档

    - 使用ASP.NET MVC或ASP.NET Web API框架,定义控制器类和操作方法,对应REST接口。 - 创建路由配置,将URL映射到相应的处理方法。 - 操作方法返回类型可以是JSON(JavaScript Object Notation),用于传输轻量级...

    REST接口测试工具(postman)

    **REST接口测试工具——Postman** 在现代Web开发中,RESTful API扮演着至关重要的角色,它们是应用程序之间通信的桥梁。为了确保这些接口的正常运行和高效性能,开发者需要进行接口测试。Postman,作为一款强大的...

    REST WebService 调用工具类

    相信大家在调用rest webservice通常使用httpclient.该示例代码是使用httpconnection的形式,以POST和GET两种方式提交调用REST WebService。在项目中一直使用的工具类,分享给大家

    kettle rest 接口 请求实例

    在Kettle中,REST接口提供了一种灵活的方式与外部系统进行通信,例如,发送和接收JSON数据,执行各种操作。本教程将深入探讨如何使用Kettle与RESTful服务进行交互。 首先,我们要理解REST(Representational State ...

    致远OA开发REST远程接口实现发送表单

    在IT行业中,企业级应用的集成与自动化是提高效率的关键环节。本文将深入探讨如何在“致远OA”(ZhiYuan Office Automation)系统中通过Java开发REST...同时,对API文档的深入理解和灵活运用是确保接口调用成功的关键。

    NC63供外部系统接口调用案例.docx

    ### NC63供外部系统接口调用案例 #### 关于NC63及其接口实现方式 **NC63**是用友公司为企业级用户提供的一款ERP软件,主要服务于大中型企业,旨在构建多集团企业的信息化核心。它与U9、U8等其他产品线一起构成了...

    springboot-rest.zip

    从压缩包子文件的文件名 "SpringBoot框架微服务rest接口调用封装 - 杨富波的博客.html" 和 "SpringBoot框架微服务rest接口调用封装 - 杨富波的博客_files" 我们可以推断,这可能是一个博客文章的HTML源文件及其相关...

    CAS restful接口调用

    ### CAS Restful接口调用详解 #### 一、CAS简介 CAS(Central Authentication Service)是一种开源的单点登录协议和服务实现。它旨在减轻单一Web应用的登录流程,并为多个服务提供一个集中式的认证机制。CAS支持...

    nodejs+websock+rest+rest调用

    该平台能实现基于ws的聊天室,可以将聊天的信息调用rest api存储到数据库,可以通过网页访问该平台提供的rest api后再进行ws的相关操作,也就是说把ws的聊天服务端与rest的调用以及rest的网站发布整合到了一起。...

    H3C CAS REST API接口

    H3C CAS的REST API设计简洁,易于理解和使用,使得开发者可以使用常见的编程语言如Python、Java、JavaScript等来调用这些接口,实现自动化管理任务。 在使用H3C CAS REST API时,首先需要了解API的基本结构和请求...

Global site tag (gtag.js) - Google Analytics