zoukankan      html  css  js  c++  java
  • JAVA使用apache http组件发送POST请求

    在上一篇文章中,使用了JDK中原始的HttpURLConnection向指定URL发送POST请求

    可以看到编码量有些大,并且使用了输入输出流

    传递的参数还是用“name=XXX”这种硬编的字符串进行传递的

    下面介绍一下apache commons项目中的apache http组件中的HttpClient

    用这种方式可以很快的使用键值对参数向URL发送请求

    package com.newflypig.demo;
    
    /**
     * 使用apache http组件提供的HttpClient向URL发送POST请求
     * 参数使用键值对传递
     */
    
    import java.util.ArrayList;
    import java.util.List;
    
    import org.apache.http.HttpResponse;
    import org.apache.http.NameValuePair;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.impl.client.HttpClients;
    import org.apache.http.message.BasicNameValuePair;
    import org.apache.http.util.EntityUtils;
    
    
    public class SendPostDemo2 {
    
    	public static void main(String[] args) throws Exception{
    		HttpClient client=HttpClients.createDefault();
    		HttpPost post=new HttpPost("http://localhost:8080/Test1/HelloWorld");
    		
    		List<NameValuePair> parameters=new ArrayList<NameValuePair>();
    		parameters.add(new BasicNameValuePair("name", "丁丁"));
    		post.setEntity(new UrlEncodedFormEntity(parameters,"UTF-8"));
    		
    		HttpResponse response=client.execute(post);
    		System.out.println(EntityUtils.toString(response.getEntity()));
    	}
    }
    

    apache http组件可以从http://hc.apache.org/downloads.cgi下载,最新版本4.5,跟3.X版本使用方法有较大差异。

     使用这种方式无论输入输出都封装得很舒服,大家可以借鉴一下。

    保持着对万物的好奇心。即使是玩游戏,也要停下来想想这是怎么实现的。
  • 相关阅读:
    MQTT Client软件-MQTTBox
    Eclipse
    Ant + ivy的安装
    常用消息中间件比较
    各种MQTT server功能比較
    消息中间件的对比
    RabbitMQ Performance Testing Tool 性能测试工具
    Eureka 简介
    win10 localhost 解析为::1 的解决办法
    JSP中过滤器的设置
  • 原文地址:https://www.cnblogs.com/newflydd/p/4891887.html
Copyright © 2011-2022 走看看