`
熊孩子会撒野
  • 浏览: 3764 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

httpclient进行post请求

阅读更多

最近项目里要用到接口,只要能够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);
	}	

 

分享到:
评论

相关推荐

    (完整版)JAVA利用HttpClient进行POST请求(HTTPS).doc

    在实际项目中,我们经常需要使用HttpClient来发送POST请求,以便与服务器进行数据交换。但是,当我们需要使用HTTPS协议时,事情变得复杂起来。HTTPS协议需要SSL/TLS证书来确保数据的安全,而HttpClient需要忽略证书...

    JAVA利用HttpClient进行POST请求(HTTPS)实例

    本实例将介绍如何使用HttpClient进行POST请求,特别是针对HTTPS的请求,以避免证书校验过程。 首先,我们需要创建一个自定义的SSLClient类,这个类继承自DefaultHttpClient。在SSLClient类中,我们将重写SSL证书的...

    SpringBoot使用httpclient发送Post请求时

    try(CloseableHttpClient httpClient = HttpClients.createDefault()) { HttpPost httpPost = new HttpPost(url); StringEntity stringEntity = new StringEntity(params, Charset.forName("UTF-8")); ...

    httpclient发送post请求

    总结,HTTPClient是Java进行HTTP通信的强大工具,尤其在发送POST请求时,它提供了丰富的功能和灵活性。通过理解上述步骤和项目结构,你可以有效地构建和发送POST请求,与远程服务器进行交互。对于"post-demo"项目,...

    HttpClient发送post请求传输json数据

    在这个场景中,我们关注的是如何使用HttpClient来发送POST请求并传输JSON数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于API接口的数据传递。 首先,我们需要引入Apache HttpClient...

    java HttpClient 发送GET请求和带有表单参数的POST请求教程例子

    ### Java HttpClient 发送GET请求和带有表单参数的POST请求详解 #### 一、概述 在Java编程中,处理HTTP请求是一项常见的需求,特别是在与Web服务进行交互时。Apache HttpClient库提供了一种强大的方法来执行HTTP...

    httpclient post方式发送请求

    接下来,我们将探讨如何使用HTTPClient发送POST请求并附带JSON数据。首先,你需要创建一个`CloseableHttpClient`实例,然后使用`HttpPost`对象来指定请求URL。在POST请求中,我们将使用`EntityBuilder`来构建包含...

    使用HttpClient发送POST请求,并获取响应内容(附详细步骤).txt

    ### 使用HttpClient发送POST请求,并获取响应内容 #### 一、简介 在现代软件开发中,尤其是在Web应用领域,客户端与服务器之间的通信是非常重要的环节。Java作为一种广泛应用的编程语言,提供了多种方式来实现这一...

    HttpClient实现POST GET和文件下载

    使用HttpClient发送POST请求的基本步骤如下: 1. **创建HttpClient对象**:首先,我们需要实例化一个`CloseableHttpClient`对象,这是HttpClient的核心组件。 2. **构建HttpPost请求**:通过`HttpPost`类创建一个...

    HttpClient发送http请求(post和get)需要的jar包+内符java代码案例+注解详解

    3. **HttpClient POST请求**: POST请求常用于向服务器提交数据。下面是一个POST请求的例子,包括设置请求头和请求体: ```java import org.apache.http.HttpEntity; import org.apache....

    HttpClient请求之基础

    HttpClient库广泛应用于需要与Web服务器进行交互的Java应用中,包括发送GET和POST请求等基本操作。 ### GET请求 GET请求是最常见的HTTP请求方法,用于从服务器获取资源。使用HttpClient发起GET请求的步骤如下: 1....

    httpclient get/post请求工具类(map参数封装)

    httpclient get/post请求工具类(map参数封装),方便调用

    httpclient发送get请求和post请求demo

    本文将深入探讨如何使用HttpClient进行GET和POST请求,并提供相关的代码示例。 首先,GET请求是最常见的HTTP请求类型,通常用于获取资源。在HttpClient中,发送GET请求可以通过`HttpGet`类实现。以下是一个简单的...

    httpclient发送post请求.docx

    在本文中,我们将深入探讨如何使用HttpClient发送POST请求,以及处理JSON参数和其他关键点。 1. 创建HttpClient实例: HttpClient的初始化通常涉及构建一个HttpClientBuilder对象,然后调用其build()方法来创建...

    Java使用HttpClient实现Post请求实例

    首先,我们来看一下使用HttpClient进行POST请求的关键步骤。 1. 引入依赖: 为了使用HttpClient,我们需要引入Apache HttpClient和HttpCore的相关依赖。在示例代码中,使用的版本是4.2.5,但请注意,可能需要根据...

    httpclient发送post请求.md

    httpclient发送post请求

    HttpClient模拟get,post请求并发送请求参数(json等)

    // 执行POST请求 // 返回响应对象 } } ``` 通过以上介绍,我们可以看出HttpClient是一个强大的工具,可以帮助开发者轻松地进行HTTP请求。无论是在测试API接口,还是在集成外部服务,HttpClient都是一个值得信赖...

    HttpClient发送post请求.pdf

    在本文中,我们将详细讲解如何使用HttpClient来发送POST请求,以及处理可能遇到的问题。 首先,创建一个`HttpClient`实例是必要的。在示例代码中,我们通过`HttpClientBuilder.create().build()`创建了一个...

Global site tag (gtag.js) - Google Analytics