首页 > 编程语言 >JAVA利用HttpClient进行POST请求(HTTPS)

JAVA利用HttpClient进行POST请求(HTTPS)

时间:2024-07-12 19:53:49浏览次数:12  
标签:JAVA String charset result HTTPS new POST null final

     final HttpClientUtil httpClientUtil = new HttpClientUtil();
        final Map<String, String> map = Maps.newHashMap();
        map.put("username", workNo);
        map.put("password", passwd);
        final String resultStr = httpClientUtil.doPost(url, map, CHARSET);

/*
* 利用HttpClient进行post请求的工具类
*/
/*
 * 利用HttpClient进行post请求的工具类
 */
public class HttpClientUtil {

    public String doPost(String url,Map<String,String> map,String charset){
        HttpClient httpClient = null;
        HttpPost httpPost = null;
        String result = null;
        try{
            httpClient = new SSLClient();
            httpPost = new HttpPost(url);
            //设置参数
            final List<NameValuePair> list = new ArrayList<>();
            final Iterator iterator = map.entrySet().iterator();
            while(iterator.hasNext()){
                final Entry<String,String> elem = (Entry<String, String>) iterator.next();
                list.add(new BasicNameValuePair(elem.getKey(),elem.getValue()));
            }
            if(!list.isEmpty()){
                UrlEncodedFormEntity entity = new UrlEncodedFormEntity(list,charset);
                httpPost.setEntity(entity);
            }
            HttpResponse response = httpClient.execute(httpPost);
            if(response != null){
                final HttpEntity resEntity = response.getEntity();
                if(resEntity != null){
                    result = EntityUtils.toString(resEntity,charset);
                }
            }
        }catch(Exception ex){
            ex.printStackTrace();
        }

        return result;
    }


    /**
     * 发送get请求
     * @param url       链接地址
     * @param charset   字符编码,若为null则默认utf-8
     * @return
     */
    public 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);

            final HttpResponse response = httpClient.execute(httpGet);
            if(response != null){
                final HttpEntity resEntity = response.getEntity();
                if(resEntity != null){
                    result = EntityUtils.toString(resEntity,charset);
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        return result;
    }
}

 

标签:JAVA,String,charset,result,HTTPS,new,POST,null,final
From: https://www.cnblogs.com/joe-tang/p/7221783.html

相关文章

  • 浅谈HTTP中Get与Post的区别
    Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/......
  • java将小写金额转换为大写的工具类
    摘自:http://www.cnblogs.com/niuyaoBolg/p/5654113.htmlpublicclassTool{privatestaticfinalStringUNIT="万千佰拾亿千佰拾万千佰拾元角分";privatestaticfinalStringDIGIT="零壹贰叁肆伍陆柒捌玖";privatestaticfinaldoub......
  • 【JavaWeb程序设计】EL和JSTL
    目录一、在数据库Book中建立表Tbook,包含图书ID,图书名称,图书价格。实现模糊查询图书,如果图书的价格在50元以上,则以黄色字体显示书名。相应的模糊查询放在Servlet中实现,在图书的显示代码中使用JSTL。1.运行截图2.建表(tbook)并插入数据3.search.jsp(1)查找表单(2)CSS4.mybat......
  • JavaScript调试技巧总结
    debug javascript最全面的JavaScript调试技巧总结本文将一一讲解各种前端JS调试技巧,也许你已经熟练掌握,那让我们一起来温习,也许有你没见过的方法,不妨一起来学习,也许你尚不知如何调试,赶紧趁此机会填补空白。Thisentrywaspostedin Review andtagged debug, javasc......
  • 同时用到,网页,java程序,数据库的web小应用
    具体实现功能:通过网页传输添加用户的请求,需要通过JDBC来向MySql添加一个用户数据第一步,部署所有需要用到的工具IDEA(2021.1),Tomcat(9),谷歌浏览器,MySql,jdk(17)第二步,创建java项目,提前部署数据库在idea中新建一个空的java项目:我创建的数据库名为learnbase,执行use......
  • PostgreSQL 中如何处理数据的存储压缩和查询性能的平衡?
    文章目录PostgreSQL中数据存储压缩与查询性能的平衡之道PostgreSQL中数据存储压缩与查询性能的平衡之道在数据库管理的广袤领域中,PostgreSQL犹如一位稳重可靠的智者,为我们提供了丰富的功能和强大的性能。然而,当面对数据存储压缩和查询性能这对“欢喜冤家”时,如......
  • PostgreSQL 如何应对因数据类型转换导致的性能损耗?
    文章目录PostgreSQL如何应对因数据类型转换导致的性能损耗PostgreSQL如何应对因数据类型转换导致的性能损耗在数据库管理的广袤世界中,PostgreSQL如同一位可靠的伙伴,为我们提供了强大的数据存储和处理能力。然而,就像任何复杂的系统一样,它也面临着一些挑战,其中因......
  • 在 PostgreSQL 里如何实现数据的分布式查询的负载均衡?
    文章目录在PostgreSQL中实现数据分布式查询的负载均衡在PostgreSQL中实现数据分布式查询的负载均衡在当今数字化时代,数据量呈爆炸式增长,对于大规模数据处理的需求也日益迫切。在PostgreSQL中实现数据的分布式查询负载均衡成为了提升系统性能和可用性的关键......
  • 数据结构(Java):队列&集合Queue&力扣面试OJ题
    1、队列1.1队列的概念队列是一个特殊的线性表,只允许在一端(队尾)进行插入数据操作,在另一端(对头)进行删除数据。队列具有先进先出FIFO(FirstInFirstOut)的特性。入队:数据只能从队尾进队列    出队:数据只能从对头出队列即:队尾进队头出我们可以把队列想象为一个排队......
  • 深入理解 JavaScript 闭包:前端开发中的重要概念
    闭包是JavaScript中一个非常重要的概念,对于理解和编写高效、灵活的代码至关重要。尽管它看似复杂,但一旦掌握了闭包,你将能够更好地理解JavaScript的函数作用域和变量生命周期。本文将深入探讨JavaScript闭包,帮助你在前端开发中更好地运用这一强大工具。什么是闭包?闭包是指......