maven依赖

<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>

  

工具类

package com.yyjdemo.shardingjdbc.http;

import com.alibaba.fastjson.JSONObject;
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.HttpParams;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils; import java.io.IOException;
import java.util.ArrayList;
import java.util.List; public class HttpUtils {
public static void main(String[] args) throws IOException { JSONObject jsonObject = new JSONObject();
jsonObject.put("id","1");
// String httppost = httppost("http://127.0.0.1:8080/jdbc/testpost",jsonObject);
// System.out.println(httppost);
// String httppost = httppostjson("http://127.0.0.1:8080/jdbc/testpostjson",jsonObject);
String httppost = httpget("http://127.0.0.1:8080/jdbc/test",jsonObject);
} public static String httpget(String url, JSONObject jsonObject) {
try {
URIBuilder uriBuilder = new URIBuilder(url);
if(!jsonObject.isEmpty()){
jsonObject.forEach((k,v)->{
uriBuilder.addParameter(k,v.toString());
});
} HttpGet httpget = new HttpGet(uriBuilder.toString());
try(CloseableHttpClient httpclient = HttpClients.createDefault();
CloseableHttpResponse execute = httpclient.execute(httpget);){
HttpEntity entity = execute.getEntity();
String s = EntityUtils.toString(entity);
return s;
}
}catch (Exception e){
e.printStackTrace();
}
return null;
} public static String httppostjson(String url, JSONObject jsonObject) {
try {
HttpPost httpPost = new HttpPost(url);
httpPost.addHeader(HTTP.CONTENT_TYPE,"application/json");
StringEntity stringEntity = new StringEntity(jsonObject.toString(),"utf-8");
httpPost.setEntity(stringEntity);
try(CloseableHttpClient httpclient = HttpClients.createDefault();
CloseableHttpResponse execute = httpclient.execute(httpPost);){
HttpEntity entity = execute.getEntity();
String s = EntityUtils.toString(entity);
return s;
}
}catch (Exception e){
e.printStackTrace();
}
return null;
} private static String httppost(String url,JSONObject jsonObject){
try {
HttpPost httpPost = new HttpPost(url);
List<NameValuePair> objects = new ArrayList<>();
jsonObject.forEach((k,v)->{
BasicNameValuePair basicNameValuePair = new BasicNameValuePair(k, v.toString());
objects.add(basicNameValuePair);
});
StringEntity stringEntity = new UrlEncodedFormEntity(objects,"utf-8");
httpPost.setEntity(stringEntity);
try(CloseableHttpClient httpclient = HttpClients.createDefault();
CloseableHttpResponse execute = httpclient.execute(httpPost);){
HttpEntity entity = execute.getEntity();
String s = EntityUtils.toString(entity);
return s;
}
}catch (Exception e){
e.printStackTrace();
}
return null;
}
}

  

HTTPUTILS的更多相关文章

  1. XUtils框架中HttpUtils使用Get请求时总是返回相同信息的问题解决,xutilshttputils

    如需转载请标明出处:http://blog.csdn.net/itas109 版本:Xutils 2014年11月11日 下载地址:https://github.com/wyouflf/xUtils ...

  2. 使用httputils上传图片到服务器

    //创建httpUtils对象 HttpUtils mRegHttpUtils = new HttpUtils(); //图片路径 String path = "/sdcard/Downlo ...

  3. 3. Android框架和工具之 xUtils(HttpUtils)

    1. HttpUtils 作用: 支持同步,异步方式的请求: 支持大文件上传,上传大文件不会oom: 支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD请求: 下载支持301/3 ...

  4. 反射机制及开源框架xUitls的使用,使用HttpUtils通过断点续传下载文件

    反射: Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法: 对于任意一个对象,都能够调用它的任意一个方法和属性 Java反射机制主要提供下面几种用途: 1•在运行时判断 ...

  5. xutils的HttpUtils,Post和Get基本使用,以及BitmapUtils的简单使用

    开篇报错注意:本教程是基于xUtils-2.6.14.jar版本实现的 由于studio中6.0以后安卓取消了httpclient,而xutils则基于httpclient开发的,所以现在无法使用,将 ...

  6. XUtils骨架HttpUtils采用Get总是返回请求解决问题的相同信息

    如需转载请注明出处:http://blog.csdn.net/itas109 版本号:Xutils 2014年11月11日 下载地址:https://github.com/wyouflf/xUtils ...

  7. Androids含文档erver结束(工具包 Httputils)两

    在同server在...的基础上,本文client还登录界面 Andriod简单http get请求基础上,用户注冊后跳转到下载界面,本文下载界面仅仅有两个View,一个是textView显示注冊后u ...

  8. 客户端 HttpUtils.java

    package com.http.post; import java.io.ByteArrayOutputStream; import java.io.IOException; import java ...

  9. 使用HttpUtils 上传视频文件

    private void shangchuan(){                 //文件的路径        //File file=new File(path);        File fi ...

  10. 使用HttpUtils完成Http Basic 认证

    调用声网(agora)的远程接口(Restful Api)时,对方需要使用Basic Auth的方式进行认证(需要输入用户名和密码). 一,使用Postman完成基于Basic Auth的Http认证 ...

随机推荐

  1. JavaScript实现IP地址的输入框方式

    最近遇到一些这样的需求:实现一种IP地址的输入方式,就是输入3个字符或自动跳到下一个输入框内,删除的时候,一个输入框没有了字符,自动跳回上一个输入框.看到这里,相信大家都有一些想法了,没错,这种方法就 ...

  2. sh: ./bin/my_print_defaults: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录 FATAL ERROR: Neither host 'kvm' nor 'localhost' could be looked up with ./bin/resolveip Please configure the 'hostname'

    初始化数据库报错: sh: ./bin/my_print_defaults: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录FATAL ERROR ...

  3. VS2010使用Release进行调试的三个必须设置选项

    How to: Debug a Release Build You can debug a release build of an application. To debug a release bu ...

  4. Laravel 执行过程核心

    protected function sendRequestThroughRouter($request){ $this->app->instance('request', $reques ...

  5. SAP业务蓝图设计的一些想法

    SAP蓝图设计是面向业务流程的,目前国内很多软件公司在做蓝图设计(概要设计)都是面向功能的,而对于用户来说,需要的不是一个个功能点,而是要实现具体的业务.功能点是一个点,而业务流程是一条线.是在梳理业 ...

  6. linux sqlplus查询数据中文乱码解决方法记录

    locale-gen -lang en.US.UTF-8 重启.

  7. 网页loading GIF图片(加载)

    http://www.lanrentuku.com/gif/a/loading.html

  8. ceph kubernetes中使用

    1.在管理节点上,进入刚创建的放置配置文件的目录,用 ceph-deploy 执行如下步骤 mkdir /opt/cluster-ceph cd /opt/cluster-ceph ceph-depl ...

  9. Net dll组件版本兼容问题

    dll组件版本兼容问题,是生产开发中经常遇到的问题,常见组件兼容问题如:Newtonsoft.Json,log4net等 为了节约大家时间,想直接看解决方法的,可直接点击目录3.4 目录 1.版本兼容 ...

  10. Python2.7-pickle, cpickle

    pickle, cpickle模块,用于序列化和反序列化 python 对象数据,可以被序列化的有:布尔值,数值,字符串,包含以上三类的容器,定义在模块顶层的函数.内置函数和类,实例对象的 __dic ...