/**
     * 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相关推荐

  1. Mac笔记本中是用Idea开发工具在Java项目中调用python脚本遇到的环境变量问题解决...

    问题描述: mac笔记本本身会自带几个python版本,比如python2.7版本,我没有改动mac默认的python版本,只是安装了python3.7版本. 使用Pycharm开发Python项目没 ...

  2. java多递归调用_java – 递归调用方法

    我无法绕过递归,更具体地说是我的教科书中提供的语法.它看起来像这样: public int sum (int num) { int result; if (num == 1) result =1; e ...

  3. java使用jdbc调用hive出现The query did not generate a result set!

    2019独角兽企业重金招聘Python工程师标准>>> java使用jdbc调用hive出现The query did not generate a result set! 博客分类 ...

  4. Linkis1.0用户使用文档:JAVA和SCALA调用Linkis的接口示例代码

    Linkis 提供了方便的JAVA和SCALA调用的接口,只需要引入linkis-computation-client的模块就可以进行使用,1.0后新增支持带Label提交的方式,下面将对兼容0.X的 ...

  5. 本地方法(JNI)——从java 程序中调用C函数

    [0]README 1) 本文部分文字描述 转自 core java volume 2 , 旨在理解 本地方法--从java 程序中调用C函数 的基础知识 : 2) for source code, ...

  6. java如何查看调用记录_查看Java记录

    java如何查看调用记录 JEP 359 (可在JDK 14中用作预览功能)将记录引入Java. 记录是对普通数据聚合建模的简单方法. 一个简单的范围记录如下所示: record Range( int ...

  7. java构造函数内部调用_具有内部类构造函数参数的Java Reflection奇数

    java构造函数内部调用 关于Java内部类 Java允许成员类(在其他类内定义的类),局部类(在语句块内定义的类)和匿名类(无名称的类): class Outer {Object anonymous ...

  8. java 变量的调用方法_java类变量的调用方式

    java类变量的调用方式 从类的内部调用类变量,可以使用类名.变量,也可以直接使用变量进行调用: public class Test { static byte a = 1; static short ...

  9. 【开发者笔记】java 利用jna调用c#的dll

    一.需求阐述: 如果我们的项目利用c#开发,到了开发后期需要和java组进行合作,其中有一部分业务逻辑利用c#已经code completed,那么我们可能会考虑用java来调用现成的c#dll实现需 ...

最新文章

  1. Centos7状态下查看防火墙状态及修改服务端口
  2. 1010 Radix
  3. python爬取图片-Python超简单的爬取网站中图片
  4. php 账号与密码比对,Php - 将密码与root密码进行比较
  5. linux统计某个目录大小,Linux下统计某个目录的文件个数(转)
  6. 20191024:单调栈问题的引出
  7. 【重构笔记04】重新组织数据(2)
  8. 从Qt Console Application到Qt GUI Application
  9. 全志A40I tina系统蓝牙wifi调试方法
  10. proteus——rs-232双机通讯
  11. html:optionscollection 默认值,关于html:options collection= /的使用
  12. 设计模式(博客园精华集)
  13. day03 python基础
  14. oracle 10g R2数据库的安装部署
  15. 可编程彩灯控制器(8X8点阵)
  16. Linux Centos7 安装Tomcat9并配置环境变量
  17. SHA1 算法加密技术核心思想
  18. 详解变分自编码器VAE(Variational Auto-Encoder)
  19. POI导入导出Excel数据(IDEA版)简单运用
  20. 用聚宽量化炒股1-设置函数

热门文章

  1. An Optimistic Perspective on Offline Reinforcement Learning(ICML2020)
  2. Python做一个简单的抽奖程序
  3. LoadRunner下载文件脚本
  4. The Swift Programming Language swift 4 下载地址
  5. 刚刚,马斯克当选美国工程院院士!智源张宏江博士入选外籍院士
  6. OAuth2.0实践之foursquare客户端登录
  7. python贴吧顶贴_超级小白可上手的python豆瓣自动顶贴
  8. golang logrus日志框架
  9. SD Formatter
  10. 基于深度学习的嗓音识别分类系统设计过程