import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.methods.PostMethod; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.message.BasicNameValuePair; import org.apache.http.protocol.HTTP; import org.apache.http.util.EntityUtils; /* 第一种:httpClient 方式 所需jar包: commons-httpclient-3.0.1.jar 及其他依赖jar包 */ public static void sendPostRequest1(Map<String,String> paramMap,String REQUEST_URL) { try { HttpClient httpclient = new HttpClient(); httpclient.getParams().setHttpElementCharset("utf-8"); httpclient.getParams().setContentCharset("utf-8"); httpclient.getParams().setSoTimeout(10000); PostMethod post=new PostMethod(REQUEST_URL); //参数数组 NameValuePair[] params=new NameValuePair[paramMap.size()]; int index=0; for(String key : paramMap.keySet()) { String value=paramMap.get(key); NameValuePair n=new NameValuePair(key,value); params[index]=n; index++; } /* 另一种添加参数的方法: post.addParameter(key, value); */ //设置请求参数 post.setRequestBody(params); //开始请求 httpclient.executeMethod(post); // 判断请求响应状态码,状态码为200表示服务端成功响应了客户端的请求 if(post.getStatusCode()==200) { //获取返回消息字符串 String str=post.getResponseBodyAsString(); System.out.println(str); } } catch (Exception e) { e.printStackTrace(); } } /* 第二种:HttpPost 方式 所需jar包: httpclient-4.3.5.jar、httpcore-4.3.2.jar 及其他依赖jar包 */ public static void sendPostRequest2(Map<String,String> paramMap,String REQUEST_URL) { try { CloseableHttpClient httpclient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost(REQUEST_URL); //设置请求和传输超时时间 RequestConfig config=RequestConfig.custom().setSocketTimeout(5000).setConnectTimeout(5000).build(); httpPost.setConfig(config); List<org.apache.http.NameValuePair> list=new ArrayList<org.apache.http.NameValuePair>(); for(String key : paramMap.keySet()) { String value=paramMap.get(key); BasicNameValuePair n=new BasicNameValuePair(key,value); list.add(n); } //设置参数 HttpEntity httpEntity=new UrlEncodedFormEntity(list,HTTP.UTF_8); httpPost.setEntity(httpEntity); //开始请求 HttpResponse response=httpclient.execute(httpPost); // 判断请求响应状态码,状态码为200表示服务端成功响应了客户端的请求 if(response.getStatusLine().getStatusCode()==200) { //获取返回消息字符串 String result=EntityUtils.toString(response.getEntity()); System.out.println(result); } } catch (Exception e) { e.printStackTrace(); } }
相关推荐
两种接口的简单调用方法,直接简单的代码 接口的创建以及使用方法
C#动态载入DLL,DLL中类方法调用,及采用接口方式调用DLL的类方法和获取类成员属性。含示例代码及程序运行截图。
Java语言功能强大,因此在许多情况下在php中来调用...在php中调用 Java语言有两种方法,一种是使用php中的Java扩展模块,另一种是使用minij2ee应用服务器提供的SJOP协议实现。这里我们来比较一下这两种方法各自的特点。
SAP Net调用SAP RFC接口读取数据RFC
springboot+webservice搭建webservice服务端及使用java客户端两种方式进行调用webservice接口
作为网络时代的最常用的数据提交方式...HTTP接口提交数据的方式也分为 GET 和 POST 两种方式。相对来说GET方式提交数据速度较快,但提交的数据不宜过大,而POST提交方式则可以提交数据稍大的数据量,但提交速度稍慢些。
1、第一种方式比较简单,而且也是大家喜欢的,因为不需要任何配置文件就可解决,只需知道服务契约接口和服务地址就可以调用。 2、使用Invoke的方式,但是需要在调用客户端配置WCF,配置后在Invoke类里封装服务契约...
生成.cs文件的方法有两种,如下: 方法一:通过VS命令行工具生成 如上图所示,输入命令“wsdl /language:c# /n:CHEER.PresentationLayer /out:生成类的物理路径(需先创建cs文件) WebService接口URL或wsdl
两种方式实现java调用ILOG规则集。
采用httpclient方式和RestTemplate方式两种方式调用http或htpps请求的接口
在 Java 客户端中,我们使用了接口来描述远程方法,之后我们通过 useService 方法返回一个远程代理对象,该对象实现了我们定义的接口,之后我们就可以直接调用远程方法 helloWorld 了。如果你比较细心的话,你还会...
springboot调用webservice接口的两种方式,不使用axis
利用百度AI接口可以实现图片文字识别,而且效果好于自己开发的图片文字识别程序。这里介绍了两种调用百度AI API的方法,一是aip,二是post,测试发现第一种方法的识别效果比第二种好。
例子展示了以下两种思路的效率对比: 1.在循环中使用实现了接口的实例方法执行某操作; 2.在循环中使用委托集合执行相同的操作。 此例被应用于IEPI.App.Expression的支持变量的表达式解析。
以上例子,实现了如下功能: ...获取文字验证码之后,如果没有收到,可以再次获取语音验证码,两种验证码的结合,可以有效避免验证码收不到的情况,从而是验证码的成功率接近100%,有效的避免客户的流失。
Qt带界面的控件给C#调用的常见的办法有两种: 如果不带界面的就很简单,这篇文章是介绍带界面的Qt组件给C#调用。 (1)Qt封装成COM组件方式给C#调用。 (2)Qt直接编译成DLL,导出接口给C#调用。 COM组件方式在之前...
本篇文章主要介绍了详解php用curl调用接口方法,get和post两种方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
文件解压后有两个文件夹JieKou和JieFaSong。 JieKou为后台接口 JieFaSong为对接接口,主要代码在Main里,实现了Post和Get两种提交方式。
例子是分别接入了文字短信接口和语音短信接口,先获取手机号文字验证码,如果文字验证码收不到,将采用语音播放验证码的形式,两种形式的结合,基本避免个别手机号收不到的问题,从而是验证码的成功率基本上达到了...