`
firkeuuuu
  • 浏览: 18569 次
社区版块
存档分类
最新评论

HTTPClient调用远程接口

    博客分类:
  • java
阅读更多

第一步,导入jar包。见附件
第二步,确定是使用post方式还是get方式。建议使用POST方法,使用GET方式,需要自己通过2次编码一次解码来处理中文。如果是post方式。如下。

	public static void main(String[] args) throws Exception {
		//Url调数据的URL
		String url= "http://127.0.0.1:8080/Xu_Huan/httpclienttest.do";
		//使用post方式
		PostMethod postMethod = new PostMethod(url);
		//设置此可以解决中文问题。但是要切记,本文件的字符编码要和服务器类的编码一样,不然要做特殊处理。
		postMethod.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gbk");
		//迭代Map传参数
		StringBuffer connString = new StringBuffer();
		Map map=new HashMap();
		map.put("x1", "许欢");
		map.put("x2", "xu");
		Iterator it=map.entrySet().iterator();
		Entry entry = null;
		int i=0;
		while(it.hasNext()){
			entry = (Entry) it.next();
			//参数加入postMethod
			postMethod.addParameter((String)entry.getKey(), (String)entry.getValue());
		}
		//定义HttpClient传输,调用远程接口
		HttpClient httpClient = new HttpClient();
		//返回码
		int code = httpClient.executeMethod(postMethod);
		if (code == 404) {
			throw new Exception("404");
		} else if (code == 500) {
			throw new Exception("500");
		} else if (code == 200) {
			//成功则返回200,执行如下方法。
			//使用流的方式来读取返回的值
			InputStream resStream = postMethod.getResponseBodyAsStream();
			BufferedReader br = new BufferedReader(new InputStreamReader(resStream));
			StringBuffer resBuffer = new StringBuffer();
			String resTemp = "";
			while ((resTemp = br.readLine()) != null) {
				resBuffer.append(resTemp);
			}
			String response = resBuffer.toString();  
//			System.out.println(response);
			//如下注释的代码,也可以直接读取返回的值,会报警告,假如返回的内容很多的话,会丢失。建议用上面的。
//			System.out.println( postMethod.getResponseBodyAsString());
		}
	}

 

第三步,写服务端代码。

 

package com.xuhuan.util;

import java.io.IOException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class Xutest extends HttpServlet {

	

	public void init(ServletConfig config) throws ServletException {
		super.init(config);
	}

	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		this.doPost(request, response);
	}

	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		exceute(request, response);
	}

	private void exceute(HttpServletRequest request, HttpServletResponse response) {

		try {
			request.setCharacterEncoding("UTF-8");
		} catch (Exception e) {
			e.printStackTrace();
		}
		try {
			String mobile1= request.getParameter("x1");

			String mobile2 = request.getParameter("x2");
			System.out.println(mobile1);
			System.out.println(mobile2);
			String returnValue = "我来看一看中文好用";
			response.setContentType("text/html;charset=UTF-8");
			response.getOutputStream().write(returnValue.getBytes("utf-8"), 0, returnValue.getBytes("utf-8").length);
			response.getOutputStream().flush();
			response.getOutputStream().close();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return ;
	
	}
}

 

4配置WEB.xml

<servlet>
		<servlet-name>ElectricExpoOrder</servlet-name>
		<servlet-class>com.xwtech.util.ElectricExpoOrder</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>ElectricExpoOrder</servlet-name>
		<url-pattern>/eOrder</url-pattern>
	</servlet-mapping>

 

 

分享到:
评论

相关推荐

    httpClient调用远程接口获取数据到本地文件夹

    在这个例子中,我们使用HttpClient来调用远程接口,从电信公司的网站获取可用手机号码的数据,并将其存储到本地文件系统。以下是对这个过程的详细解释: 1. **HttpClient的引入与配置**: 首先,我们需要在项目中...

    httpClient 调用远程接口 获取数据到本地文件夹

    在这个场景中,我们使用HttpClient来调用远程接口,从电信公司的网站获取可用的新手机号码信息,并将这些数据存储到本地文件中。以下是对这个过程的详细解释: 1. **HttpClient的基本使用**: HttpClient提供了一...

    httpClient调用webservice接口

    ### 使用HttpClient调用WebService接口详解 #### 一、概述 在现代软件开发中,Web服务(尤其是WebService)作为实现系统间交互的一种重要手段被广泛采用。WebService提供了通过HTTP协议进行远程过程调用的能力,...

    WebApi系列-通过HttpClient来调用WebApi接口.doc

    ### WebApi系列-通过HttpClient来调用WebApi接口 #### 一、概述 在现代Web开发中,Web API已经成为一种非常流行的模式,用于提供服务端与客户端之间的数据交互。随着.NET Framework以及.NET Core的发展,微软提供...

    http远程接口调用-httpClient+跳过SSL证书校验

    在远程接口调用中,HttpClient允许我们构建自定义的请求并获取响应,非常适用于API测试和集成。 首先,我们需要添加HttpClient依赖到我们的项目中。如果是Maven项目,可以在pom.xml文件中添加以下依赖: ```xml ...

    如何在WPF应用程序中通过HttpClient调用Web API

    在WPF应用程序中,异步调用Web API是一项重要的技术,因为它可以避免UI线程阻塞,从而提高用户...通过利用HttpClient的异步方法,结合WPF的数据绑定机制,可以在保持界面流畅的同时,实现对远程数据的异步读取和显示。

    httpclient 4.5 相关jar包 (Spring mvc REST风格对外接口,HttpClient调用)

    在"Spring mvc REST风格对外接口,HttpClient调用"这个场景中,我们通常会用到一系列的jar包,其中包括`commons-beanutils-1.9.2.jar`。 `commons-beanutils`是Apache Commons项目的一个组件,主要提供对JavaBeans...

    httpclient方式调用url

    它是由Apache软件基金会开发的,被广泛应用于各种Web服务的客户端实现。本篇文章将深入探讨如何使用HttpClient方式调用URL,...在项目"thirdTest"中,你可以尝试应用这些概念和代码示例来实现HttpClient调用URL的功能。

    springmvc实现httpclient调用服务

    2. **创建服务调用接口**:在Controller层,我们定义一个接口来封装HttpClient的调用。这个接口可以使用`@Autowired`注解注入HttpClient,然后创建`HttpGet`或`HttpPost`对象,设置URL、Header等信息,最后通过...

    使用httpclient方式和RestTemplate方式调用http及https接口

    以下是一个简单的HttpClient调用HTTP接口的示例: ```java CloseableHttpClient httpClient = HttpClients.createDefault(); HttpGet request = new HttpGet("http://example.com/api"); CloseableHttpResponse ...

    c# 三种方法调用WebService接口

    - 动态调用WebService接口不需要事先生成客户端的代理类,而是通过程序代码在运行时动态地调用远程服务。 - 可以创建一个帮助类(例如WebServiceHelper),在该类中编写方法来实现动态调用逻辑。 - 在动态调用中...

    service_java接口远程调用_get、post、带参数远程调用_

    在Java编程中,远程接口调用是分布式系统中常见的通信方式,它允许不同的服务之间进行数据交换和功能调用。本篇文章将详细讲解如何使用Java实现GET和POST方法的远程接口调用,以及如何处理带有参数的情况。 首先,...

    PB调用http api接口 PB解析json

    PB调用HTTP API接口是PowerBuilder(PB)应用程序与远程服务交互的一种常见方式,这使得PB应用能够利用Web服务或RESTful API获取和传递数据。在这个过程中,PB不仅需要发送HTTP请求,还需要处理响应,尤其是当响应...

    致远OA开发REST远程接口实现发送表单

    本文将深入探讨如何在“致远OA”(ZhiYuan Office Automation)系统中通过Java开发REST远程接口,实现远程发起OA表单的功能。我们将详细介绍这个过程,并提供相关的代码示例、所需jar包以及致远API的引用地址。 ...

    java上传文件接口调用源码案例

    在Java中,文件上传通常涉及到调用远程服务器提供的API接口,这些接口接收文件作为输入并执行相应的处理。 1. **使用HTTP或HTTPS上传文件**: 文件上传通常通过POST请求进行,HTTP或HTTPS是互联网上常用的数据传输...

    java后台调用HttpURLConnection类模拟浏览器请求实例(可用于接口调用)

    本篇文章将深入讲解如何使用`HttpURLConnection`类来模拟浏览器请求,并通过实例展示其在接口调用中的应用。 首先,`HttpURLConnection`是`java.net.URLConnection`的一个子类,用于处理HTTP协议。在使用`...

    Arduino HttpClient 库文件

    在实际项目中,HttpClient 库常用于 IoT(物联网)场景,如远程控制、数据采集或设备状态报告等。结合 Arduino 的传感器和其他硬件,你可以构建各种智能系统,如智能家居、环境监测等。理解并熟练使用 HttpClient 库...

    C#飞信 调用最新接口

    在C#中,我们通常会使用HttpClient类或者WebClient类来发起HTTP请求,以达到调用远程接口的目的。 要实现这个功能,我们需要以下步骤: 1. **设置请求头**:创建一个HttpClient对象,然后设置必要的请求头,如...

    webservice接口调用工具类依赖jar包

    WebService接口调用工具类是Java开发中常见的一种技术,用于与远程服务进行通信,尤其在集成不同系统或服务时非常关键。在这个场景中,"webservice接口调用工具类依赖jar包"指的是为了实现对WebService接口的调用,...

    WebApiClient:基于HttpClient的开源项目。 您只需要定义c#接口并修改相关功能即可异步调用远程http接口的客户端库。

    WebApiClientCore 的netcore版本,集高级高可扩展性于一体的声明式http客户端库,特别适用于微服务的restful资源请求,也适用于各种畸形的http接口请求。努吉特包名描述努吉特WebApiClientCore基础包 ...

Global site tag (gtag.js) - Google Analytics