在项目中经常会请求别人的接口,所以经常会用到httpclient工具类,下面是我写的一个简单的工具类
首先引包,因为是maven的项目,所以直接在pom.xml中新增两个依赖,
<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5</version> </dependency> <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version>3.1</version> </dependency>
很多人自己写工具类,获取上网扒的别人的工具类
都报错,很多时候就是因为你jar包的版本不同导致的
package com.wonder.Util; import org.apache.http.NameValuePair; import org.apache.http.client.config.CookieSpecs; import org.apache.http.client.config.RequestConfig; 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.cookie.CookieSpec; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils; import org.apache.http.HttpEntity; import java.io.IOException; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Map; /** * Created by Guozhijie on 2016/9/21. */ public class HttpClientUtil { //post 请求 public static String doPost(String url, Map<String,String> map){ String result = null; CloseableHttpClient httpClient= HttpClients.createDefault(); CloseableHttpResponse response=null; HttpPost httpPost=new HttpPost(url); try{ //设置参数 List<NameValuePair> list = new ArrayList<NameValuePair>(); Iterator iterator = map.entrySet().iterator(); while(iterator.hasNext()){ Map.Entry<String,String> elem = (Map.Entry<String, String>) iterator.next(); list.add(new BasicNameValuePair(elem.getKey(),elem.getValue())); } if(list.size() > 0){ UrlEncodedFormEntity entity = new UrlEncodedFormEntity(list,"UTF-8"); httpPost.setEntity(entity); } response = httpClient.execute(httpPost); if(response != null){ HttpEntity resEntity = response.getEntity(); if(resEntity != null){ result = EntityUtils.toString(resEntity); } } }catch (Exception e){ e.printStackTrace(); } finally { try{ response.close(); httpClient.close(); }catch (IOException e){ } } return null; } //get请求 public static String get(String path){ RequestConfig config=RequestConfig.custom().setCookieSpec(CookieSpecs.STANDARD).build(); CloseableHttpResponse response=null; CloseableHttpClient httpClient=HttpClients.createDefault(); HttpGet httpGet=new HttpGet(path); try{ response=httpClient.execute(httpGet); HttpEntity entity=response.getEntity(); String responseText=EntityUtils.toString(entity); EntityUtils.consume(entity); return responseText; }catch (Exception e){ e.printStackTrace(); }finally { try{ response.close();; httpClient.close(); }catch (IOException e){ } } return null; } }
这样在你webservice请求的时候就可以直接用了
相关推荐
WebService接口调用工具类是Java开发中常见的一种技术,用于与远程服务进行通信,尤其在集成不同系统或服务时非常关键。在这个场景中,"webservice接口调用工具类依赖jar包"指的是为了实现对WebService接口的调用,...
总的来说,"java 调用 webService工具类"是一个用于简化Java应用程序调用SOAP WebService的实用工具,它封装了请求构建、发送、响应处理等复杂流程,让开发者能更专注于业务逻辑而不是底层通信细节。了解并熟练使用...
在Java开发中,有时我们需要与外部服务进行交互,如发送短信、获取数据等,这时就会用到Web Service。本文将详细介绍如何使用...在处理短信接口这类服务时,理解并熟练掌握这两种工具,能有效提高开发效率和代码质量。
此外,HttpClient还提供了许多工具类和拦截器,使得调试和优化HTTP通信变得容易。 总结来说,HttpClient是Java开发中实现WebService客户端的理想选择,它提供了丰富的功能和易用的API。通过理解HttpClient的工作...
相信大家在调用rest webservice通常使用httpclient.该示例代码是使用httpconnection的形式,以POST和GET两种方式提交调用REST WebService。在项目中一直使用的工具类,分享给大家
接下来,我们将创建一个`WebServiceUtil`类,这个类将封装Web服务调用的逻辑。首先,定义一个方法用于发送GET请求: ```java import org.apache.http.HttpEntity; import org.apache....
调用WebService接口在C#中主要通过生成代理类完成,这通常是通过添加服务引用或者使用`svcutil.exe`工具生成。生成的代理类会包含对服务方法的调用,就像调用本地方法一样简单。 结合压缩包中的示例,你将能够学习...
接下来,`Dom4jUtil.java`可能是一个工具类,用于解析返回的XML响应。Dom4j是一个Java库,它提供了简单且灵活的方式来处理XML文档。在Web服务的响应通常是XML格式时,我们需要将其解析为可操作的数据结构。以下是一...
这意味着,无论你面对的是哪种类型的WebService,都可以使用这些工具类来进行调用,而不需要针对每个具体的WebService进行单独的适配。这样的通用性大大提高了开发效率,降低了维护成本。 描述中提到的"提供一個...
例如,可以使用JAX-WS的`wsimport`工具生成客户端代码,或者直接使用SOAP请求库如Apache HttpClient发送POST请求。 在压缩包中的"手写的案例"可能包含了上述步骤的源代码示例,包括服务端的实现、WSDL文件以及可能...
HttpClient提供URIBuilder工具类来简化URIs的创建和修改过程。 HttpClient的范围 * HttpClient支持基本的HTTP协议,还支持HTTP-aware客户端程序,如web浏览器,Webservice客户端,以及利用或拓展HTTP协议的分布式...
8. **工具与框架**:现代开发中,有许多工具和框架可以帮助简化XML拼接和Web Service调用,如Java的Apache Axis、CXF,C#的Wsdl.exe或SvcUtil.exe,它们可以自动生成客户端代理类,使得调用Web Service就像调用本地...
在实际项目中,"WebServiceTest"可能是项目中一个专门用于测试WebService调用的类或者模块。这个类可能包含了不同的HttpGet请求,用于测试不同接口的功能和性能。测试通常包括正常情况下的调用,以及异常处理,如...
- .NET提供了许多类库用于调用WebService,如System.Web.Services.Protocols.SoapHttpClientProtocol,或者更现代的HttpClient类。开发者可以通过这些类创建代理对象,然后像调用本地方法一样调用WebService。 9. ...
总结,.NET动态调用WebService涉及的关键技术包括SOAP协议的理解、选择合适的调用类(如SoapHttpClientProtocol或HttpClient)、数据序列化和反序列化、异常处理以及安全措施。了解并掌握这些知识点,将使你在开发中...
1. **生成代理类**:使用.NET Framework提供的工具(如`svcutil.exe`)从WSDL文件自动生成代理类,这些类可用于调用WebService中的方法。 2. **手动创建SOAP请求**:虽然不常见,但在某些情况下可能需要手动构造SOAP...
6. **EntityUtils**:这个工具类帮助我们从HttpResponse中提取和处理实体内容,例如读取响应体的字符串或字节。 7. **Cookie管理**:HTTPClient支持处理cookies,以便在多次请求之间保持会话状态。CookieSpec和...
2. **手工创建代理类**:没有WSDL时,你需要手动编写服务的代理类,定义接口和方法,然后使用HttpClient或者WebRequest类来构造和发送SOAP请求。这需要对SOAP消息结构有深入了解。 3. **使用第三方库如SoapCore或...
- **生成客户端代理类**:使用wsimport工具,根据WebService的WSDL(Web Service Description Language)文件生成客户端代理类。 - **实例化代理类**:创建代理类的实例,这个实例代表了远程的WebService服务。 -...
- 在C#环境中,使用HttpClient类或者WebClient类来发起HTTP请求。HttpClient更为现代且推荐用于.NET框架的新项目。 - 对于GET请求,使用HttpClient的GetAsync方法,提供Web服务的URL,获取响应。 - 对于POST请求...