最近项目里要用到接口,只要能够post数据进行接收便可以,于是用到httpclient,而httpclient4.x与3.x还是有挺大的差别的。
public class xmccHttpPostImp { /** * 论文提交接口 * @param token * @param oem_id * @param thesis_id * @param title * @param author * @param content * @param spam */ public void getSubmitHttp(String token, String oem_id, String thesis_id, String title, String author, String content, String spam){ DefaultHttpClient httpclient = new DefaultHttpClient(); // URL访问地址 //String url = "Http://check.xxx.com/thesis/submit"; String url = "http://localhost:8080/xmcc_Check/servlet/SubmitServlet"; HttpPost httppost = new HttpPost(url); try { // 把参数值放入到PostMethod对象中 List<NameValuePair> nameValuePair = new ArrayList<NameValuePair>(); nameValuePair.add(new BasicNameValuePair("token", token)); nameValuePair.add(new BasicNameValuePair("oem_id", oem_id)); nameValuePair.add(new BasicNameValuePair("thesis_id", thesis_id)); nameValuePair.add(new BasicNameValuePair("title", title)); nameValuePair.add(new BasicNameValuePair("author", author)); nameValuePair.add(new BasicNameValuePair("content", content)); nameValuePair.add(new BasicNameValuePair("spam", spam)); httppost.setEntity(new UrlEncodedFormEntity(nameValuePair,HTTP.UTF_8)); // 得到response对象 HttpResponse response = httpclient.execute(httppost); // 返回码 int resStatu = response.getStatusLine().getStatusCode(); //状态位200,请求成功 if (resStatu == HttpStatus.SC_OK) { //System.out.println("发送成功!"); //此处不能同时运行两个操作 // 获得相应实体 HttpEntity entity = response.getEntity(); if (entity != null) { // ensure the connection gets released to the manager EntityUtils.consume(entity); } } } catch (Exception e) { System.out.println("访问【" + url + "】出现异常!"); e.printStackTrace(); httppost.abort(); } finally { httppost.releaseConnection(); } }
对应的可用servlet来进行接收,然后存入数据库里
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); // 论文ID String thesis_id = null; // 标题 String title = null; // 作者 String author = null; // 内容 String content = null; // 加密串 String token = request.getParameter("token"); // OEM客户 String oem_id = request.getParameter("oem_id"); // 发送方的Timestamp String spam = request.getParameter("spam"); // 把spam从string转换成long来比较 long yourTimestamp = 0; if(!("".equals(spam))){ yourTimestamp = Long.parseLong(spam); } try{ PrintWriter out = response.getWriter(); // 返回值 // 验证来源合法性 boolean isLegal = new IsLegal().isLegal(token, oem_id, spam); if(isLegal == true){ thesis_id = request.getParameter("thesis_id"); // 论文ID title = request.getParameter("title"); // 标题 author = request.getParameter("author"); // 作者 content = request.getParameter("content"); // 内容 // 将接收到的数据存入数据库 new CheckDao().submitInsert(token,oem_id,thesis_id,title,author,content,yourTimestamp); // 返回值200 // out.print(200); }else{ System.out.println("该post请求非法!"); // 返回值500 out.print(500); } }catch(Exception e){ e.printStackTrace(); } System.out.println("接口一已经接收到数据了!"); System.out.println("token->"+token); System.out.println("oem_id->"+oem_id); System.out.println("thesis_id->"+thesis_id); System.out.println("title->"+title); System.out.println("author->"+author); System.out.println("content->"+content); System.out.println("spam->"+spam); }
相关推荐
在实际项目中,我们经常需要使用HttpClient来发送POST请求,以便与服务器进行数据交换。但是,当我们需要使用HTTPS协议时,事情变得复杂起来。HTTPS协议需要SSL/TLS证书来确保数据的安全,而HttpClient需要忽略证书...
本实例将介绍如何使用HttpClient进行POST请求,特别是针对HTTPS的请求,以避免证书校验过程。 首先,我们需要创建一个自定义的SSLClient类,这个类继承自DefaultHttpClient。在SSLClient类中,我们将重写SSL证书的...
try(CloseableHttpClient httpClient = HttpClients.createDefault()) { HttpPost httpPost = new HttpPost(url); StringEntity stringEntity = new StringEntity(params, Charset.forName("UTF-8")); ...
总结,HTTPClient是Java进行HTTP通信的强大工具,尤其在发送POST请求时,它提供了丰富的功能和灵活性。通过理解上述步骤和项目结构,你可以有效地构建和发送POST请求,与远程服务器进行交互。对于"post-demo"项目,...
在这个场景中,我们关注的是如何使用HttpClient来发送POST请求并传输JSON数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于API接口的数据传递。 首先,我们需要引入Apache HttpClient...
### Java HttpClient 发送GET请求和带有表单参数的POST请求详解 #### 一、概述 在Java编程中,处理HTTP请求是一项常见的需求,特别是在与Web服务进行交互时。Apache HttpClient库提供了一种强大的方法来执行HTTP...
接下来,我们将探讨如何使用HTTPClient发送POST请求并附带JSON数据。首先,你需要创建一个`CloseableHttpClient`实例,然后使用`HttpPost`对象来指定请求URL。在POST请求中,我们将使用`EntityBuilder`来构建包含...
### 使用HttpClient发送POST请求,并获取响应内容 #### 一、简介 在现代软件开发中,尤其是在Web应用领域,客户端与服务器之间的通信是非常重要的环节。Java作为一种广泛应用的编程语言,提供了多种方式来实现这一...
使用HttpClient发送POST请求的基本步骤如下: 1. **创建HttpClient对象**:首先,我们需要实例化一个`CloseableHttpClient`对象,这是HttpClient的核心组件。 2. **构建HttpPost请求**:通过`HttpPost`类创建一个...
3. **HttpClient POST请求**: POST请求常用于向服务器提交数据。下面是一个POST请求的例子,包括设置请求头和请求体: ```java import org.apache.http.HttpEntity; import org.apache....
HttpClient库广泛应用于需要与Web服务器进行交互的Java应用中,包括发送GET和POST请求等基本操作。 ### GET请求 GET请求是最常见的HTTP请求方法,用于从服务器获取资源。使用HttpClient发起GET请求的步骤如下: 1....
httpclient get/post请求工具类(map参数封装),方便调用
本文将深入探讨如何使用HttpClient进行GET和POST请求,并提供相关的代码示例。 首先,GET请求是最常见的HTTP请求类型,通常用于获取资源。在HttpClient中,发送GET请求可以通过`HttpGet`类实现。以下是一个简单的...
在本文中,我们将深入探讨如何使用HttpClient发送POST请求,以及处理JSON参数和其他关键点。 1. 创建HttpClient实例: HttpClient的初始化通常涉及构建一个HttpClientBuilder对象,然后调用其build()方法来创建...
首先,我们来看一下使用HttpClient进行POST请求的关键步骤。 1. 引入依赖: 为了使用HttpClient,我们需要引入Apache HttpClient和HttpCore的相关依赖。在示例代码中,使用的版本是4.2.5,但请注意,可能需要根据...
httpclient发送post请求
// 执行POST请求 // 返回响应对象 } } ``` 通过以上介绍,我们可以看出HttpClient是一个强大的工具,可以帮助开发者轻松地进行HTTP请求。无论是在测试API接口,还是在集成外部服务,HttpClient都是一个值得信赖...
在本文中,我们将详细讲解如何使用HttpClient来发送POST请求,以及处理可能遇到的问题。 首先,创建一个`HttpClient`实例是必要的。在示例代码中,我们通过`HttpClientBuilder.create().build()`创建了一个...