java Post ,Get 调用Http Https
/**
* post 请求 转json
* Https
* @param url
* @param json
* @return
*/
public static String doPostJson(String url, String json) {
// 创建Httpclient对象
HttpClient httpClient = null;
String resultString = "";
try {
httpClient = new SSLClient();
// 创建Http Post请求
HttpPost httpPost = new HttpPost(url);
// 创建请求内容
StringEntity entity = new StringEntity(json, ContentType.APPLICATION_JSON);
httpPost.setEntity(entity);
// 请求头
httpPost.addHeader("x-tif-nonce", null);
httpPost.addHeader("Cache-Control", "no-cache");
// 执行http请求
HttpResponse response = httpClient.execute(httpPost);
resultString = EntityUtils.toString(response.getEntity(), "utf-8");
} catch (Exception e) {
e.printStackTrace();
}
return resultString;
}
/**
* 发送get请求
* Https
* @param url 链接地址
* @param charset 字符编码,若为null则默认utf-8
* @return
*/
public static String doGet(String url, String charset){
if(null == charset){
charset = "utf-8";
}
HttpClient httpClient = null;
HttpGet httpGet= null;
String result = null;
try {
httpClient = new SSLClient();
httpGet = new HttpGet(url);
HttpResponse response = httpClient.execute(httpGet);
if(response != null){
HttpEntity resEntity = response.getEntity();
if(resEntity != null){
result = EntityUtils.toString(resEntity,charset);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* 发送get请求
* Http
* @return
*/
public static String doGets(String stoptime, String audittype, String ip, Integer istrust, Integer ipmacbind) {
String url = "";
String data = "";
String result = "";
StringBuffer sb = new StringBuffer(url);
if (null != stoptime && !"".equals(stoptime)) {
sb.append("&stoptime=" + stoptime);
}
HttpGet httpGet = new HttpGet(sb.toString());
// 设置参数
HttpParams params = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(params, 5000);
HttpConnectionParams.setSoTimeout(params, 5000);
// 执行请求的对象
HttpClient client = new DefaultHttpClient(params);
try {
// 执行请求的对象
HttpResponse resp = client.execute(httpGet);
if (resp.getStatusLine().getStatusCode() == 200) {
// 获取响应 的数据
HttpEntity entity = resp.getEntity();
data = EntityUtils.toString(entity, "utf-8");
JSONObject code = JSONObject.parseObject(data);
result = code.getString("status");
}
} catch (Exception e) {
System.out.println("认证操失败" + e.getMessage());
}
return result;
}
/**
* from-data 请求
* Http
* @param url
* @param map
* @return
* @throws Exception
*/
public static String doPostForm(String url, Map map) throws Exception {
String result = "";
String resultString = "";
CloseableHttpClient client = null;
CloseableHttpResponse response = null;
RequestConfig defaultRequestConfig = RequestConfig.custom().setSocketTimeout(550000).setConnectTimeout(550000)
.setConnectionRequestTimeout(550000).setStaleConnectionCheckEnabled(true).build();
client = HttpClients.custom().setDefaultRequestConfig(defaultRequestConfig).build();
// client = HttpClients.createDefault();
URIBuilder uriBuilder = new URIBuilder(url);
HttpPost httpPost = new HttpPost(uriBuilder.build());
httpPost.setHeader("Connection", "Keep-Alive");
httpPost.setHeader("Charset", "utf-8");
httpPost.setHeader("Content-Type", "application/x-www-form-urlencoded");
Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
List<NameValuePair> params = new ArrayList<NameValuePair>();
while (it.hasNext()) {
Map.Entry<String, String> entry = it.next();
NameValuePair pair = new BasicNameValuePair(entry.getKey(), entry.getValue());
params.add(pair);
}
httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
try {
response = client.execute(httpPost);
if (response != null) {
HttpEntity resEntity = response.getEntity();
if (resEntity != null) {
result = EntityUtils.toString(resEntity, "utf-8");
JSONObject content = JSONObject.parseObject(result);
resultString = content.getString("content");
}
}
} catch (ClientProtocolException e) {
throw new RuntimeException("创建连接失败" + e);
} catch (IOException e) {
throw new RuntimeException("创建连接失败" + e);
}
return resultString;
}
/**
* post 请求 转json
* Http
* @param url
* @param json
* @return
*/
public static String doPostJsons(String url, String json) {
// 创建Httpclient对象
CloseableHttpClient httpClient = HttpClients.createDefault();
CloseableHttpResponse response = null;
String resultString = "";
String result = "";
try {
// 创建Http Post请求
HttpPost httpPost = new HttpPost(url);
// 创建请求内容
StringEntity entity = new StringEntity(json, ContentType.APPLICATION_JSON);
httpPost.setEntity(entity);
// 执行http请求
response = httpClient.execute(httpPost);
resultString = EntityUtils.toString(response.getEntity(), "utf-8");
JSONObject content = JSONObject.parseObject(resultString);
result = content.getString("content");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
response.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return result;
}
/**
* 用于进行Https请求的HttpClient
* @ClassName: SSLClient
* @author Devin <xxx>
*
*/
public class SSLClient extends DefaultHttpClient {
public SSLClient() throws Exception{
super();
SSLContext ctx = SSLContext.getInstance("TLS");
X509TrustManager tm = new X509TrustManager() {
@Override
public void checkClientTrusted(X509Certificate[] chain,
String authType) throws CertificateException {
}
@Override
public void checkServerTrusted(X509Certificate[] chain,
String authType) throws CertificateException {
}
@Override
public X509Certificate[] getAcceptedIssuers() {
return null;
}
};
ctx.init(null, new TrustManager[]{tm}, null);
SSLSocketFactory ssf = new SSLSocketFactory(ctx,SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
ClientConnectionManager ccm = this.getConnectionManager();
SchemeRegistry sr = ccm.getSchemeRegistry();
sr.register(new Scheme("https", 443, ssf));
}
java Post ,Get 调用Http Https相关推荐
- Mac笔记本中是用Idea开发工具在Java项目中调用python脚本遇到的环境变量问题解决...
问题描述: mac笔记本本身会自带几个python版本,比如python2.7版本,我没有改动mac默认的python版本,只是安装了python3.7版本. 使用Pycharm开发Python项目没 ...
- java多递归调用_java – 递归调用方法
我无法绕过递归,更具体地说是我的教科书中提供的语法.它看起来像这样: public int sum (int num) { int result; if (num == 1) result =1; e ...
- java使用jdbc调用hive出现The query did not generate a result set!
2019独角兽企业重金招聘Python工程师标准>>> java使用jdbc调用hive出现The query did not generate a result set! 博客分类 ...
- Linkis1.0用户使用文档:JAVA和SCALA调用Linkis的接口示例代码
Linkis 提供了方便的JAVA和SCALA调用的接口,只需要引入linkis-computation-client的模块就可以进行使用,1.0后新增支持带Label提交的方式,下面将对兼容0.X的 ...
- 本地方法(JNI)——从java 程序中调用C函数
[0]README 1) 本文部分文字描述 转自 core java volume 2 , 旨在理解 本地方法--从java 程序中调用C函数 的基础知识 : 2) for source code, ...
- java如何查看调用记录_查看Java记录
java如何查看调用记录 JEP 359 (可在JDK 14中用作预览功能)将记录引入Java. 记录是对普通数据聚合建模的简单方法. 一个简单的范围记录如下所示: record Range( int ...
- java构造函数内部调用_具有内部类构造函数参数的Java Reflection奇数
java构造函数内部调用 关于Java内部类 Java允许成员类(在其他类内定义的类),局部类(在语句块内定义的类)和匿名类(无名称的类): class Outer {Object anonymous ...
- java 变量的调用方法_java类变量的调用方式
java类变量的调用方式 从类的内部调用类变量,可以使用类名.变量,也可以直接使用变量进行调用: public class Test { static byte a = 1; static short ...
- 【开发者笔记】java 利用jna调用c#的dll
一.需求阐述: 如果我们的项目利用c#开发,到了开发后期需要和java组进行合作,其中有一部分业务逻辑利用c#已经code completed,那么我们可能会考虑用java来调用现成的c#dll实现需 ...
最新文章
- Centos7状态下查看防火墙状态及修改服务端口
- 1010 Radix
- python爬取图片-Python超简单的爬取网站中图片
- php 账号与密码比对,Php - 将密码与root密码进行比较
- linux统计某个目录大小,Linux下统计某个目录的文件个数(转)
- 20191024:单调栈问题的引出
- 【重构笔记04】重新组织数据(2)
- 从Qt Console Application到Qt GUI Application
- 全志A40I tina系统蓝牙wifi调试方法
- proteus——rs-232双机通讯
- html:optionscollection 默认值,关于html:options collection= /的使用
- 设计模式(博客园精华集)
- day03 python基础
- oracle 10g R2数据库的安装部署
- 可编程彩灯控制器(8X8点阵)
- Linux Centos7 安装Tomcat9并配置环境变量
- SHA1 算法加密技术核心思想
- 详解变分自编码器VAE(Variational Auto-Encoder)
- POI导入导出Excel数据(IDEA版)简单运用
- 用聚宽量化炒股1-设置函数
热门文章
- An Optimistic Perspective on Offline Reinforcement Learning(ICML2020)
- Python做一个简单的抽奖程序
- LoadRunner下载文件脚本
- The Swift Programming Language swift 4 下载地址
- 刚刚,马斯克当选美国工程院院士!智源张宏江博士入选外籍院士
- OAuth2.0实践之foursquare客户端登录
- python贴吧顶贴_超级小白可上手的python豆瓣自动顶贴
- golang logrus日志框架
- SD Formatter
- 基于深度学习的嗓音识别分类系统设计过程