在自己开发的Java后台系统中,经常需要用到第三方的Http接口调用或者为解决跨域的http接口请求时,先用自己的Java后端服务调用远端的接口,获取到数据后,然后再给自己系统的前端进行Ajax调用。这里的关键技术就是Java对Http接口的访问,一般如果只是简单的运用,我们可以使用HttpClient辅助开发。
对于Maven架构的项目可以通过pom.xml文件中,加入以下内容:
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.3</version>
</dependency>
如果是自行建立的Java Web项目,则需要引入相关的HttpClient的jar包,可以前往Apache官网的Http组件页download:
http://hc.apache.org/downloads.cgi
或者使用清华大学的镜像文件:
http://mirrors.tuna.tsinghua.edu.cn/apache//httpcomponents/httpclient/binary/httpcomponents-client-4.5.3-bin.zip
在项目中加入了这些Jar包之后,就可以使用HttpClient了。
参考代码如下:
public class HttpClientUtil {
public static String server_addr = "http://localhost:8080/Server-api-simulator";
public static boolean notifyServerJobStateChanged(String jobName, String jobGroup, String state, String triggerIds){
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(server_addr + "/UpdateReqJobStateSvlt");
System.out.println(server_addr + "/UpdateReqJobStateSvlt");
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("jobName", jobName));
nvps.add(new BasicNameValuePair("jobGroup", jobGroup));
nvps.add(new BasicNameValuePair("state", state));
nvps.add(new BasicNameValuePair("triggerIds", ""));
try {
httpPost.setEntity(new UrlEncodedFormEntity(nvps));
httpclient.execute(httpPost);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return true;
}
public static void main(String[] args){
notifyServerJobStateChanged("AAA", "BBB", "WAITING", "");
}
}
分享到:
相关推荐
JAVA利用HttpClient进行HTTPS接口调用
HttpClient接口调用工具类 (Post请求 get请求 put请求 delete请求 下载就可以用 )
使用c#实现的HttpClient拼接multipart/form-data形式参数post提交数据,包含图片内容,有需要的可以下载,希望能帮到有需要的人,
commons-httpclient,java中使用httpclient中使用的扩展工具
1.高效简单池化的HttpClient工具类,提供单元测试用列。 2.支持基于SpringBoot 2.1.x的自动装载模块,引用依赖即可使用。 3.公司几十个项目都使用该工具类访问第三方的Http/Https+json协议接口。 4.经过上市公司多个...
本篇文章主要介绍了JAVA利用HttpClient进行HTTPS接口调用的方法,具有一定的参考价值,有兴趣的可以了解一下
该工具类是java 调用第三方接口时需要使用到的。HttpClientUtil 包含get和post方法。
希望用http协议的能可以帮到大家!很有使用价值!大家可以看看!
(完整版)JAVA利用HttpClient进行POST请求(HTTPS).doc
commons-httpclient-3.0.jar JAVA中使用HttpClient可以用到
http请求工具类-HttpClientUtils 还需要HttpClientResult类
java HttpClient 发送GET请求和带有表单参数的POST请求教程例子
本demo有两个例子test是作为服务端开启的,httpclient是客户端调用的,模拟服务端的test在启动后是没有界面的,要加上id才能看到json数据,httpclient的HttpClient33.java是测试类,最后的结果是接受到一个对象。...
http远程接口调用-httpClient+跳过SSL证书校验. 里面分别有3个httpClient的工具类代码。 还有一个专门为了跳过SSL证书校验的工具类。
该工具类使用httpclient进行http or https请求,包括requestbody格式和form表单格式,另外含文件服务器中转上传方法,几乎支持所有常用接口调用,内含详细注释和说明文件,含jar包,及maven方式引用,拿过去直接用吧
主要介绍了java实现HttpClient异步请求资源的方法,实例分析了java基于http协议实现异步请求的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
利用httpclient-4.3.1.jar、httpcore-4.3.jar包,很简单的用java实现httpget和httppost请求。
WebApi系列-通过HttpClient来调用WebApi接口.doc
JAVA调用HTTP及httpclient的详细说明,包括HttpClient Post/GetMethod 转码方案汇总,使用httpclient实现http接口调用实例,含具体代码
本方法以HttpClient发送请求,并且接收返回数据 举例说明 public static String doGet(String url, Map, String> params, String charset) public static void downLoadImage(String url, String path) public ...