两个问题:

     1、httpclient怎样发送一个没有不论什么參数的post数据呢?
     2、Webproject怎样去接收一个无參数的post呢?

起因:
     今天(2014.11.10)在开发中碰到了一个问题。接口提供方提供的接口是要求使用post方式发送数据的。心想这不超简单的一个东西吗?直接post过去不就是了。可是,提供的接口是没有不论什么參数的。不是类似这样的http://api.dutycode.com/data/parm=xxx这样的接口,而是http://api.dutycode.com/data。这个地址直接接收post数据。
     话说,当时瞬间心碎了,没接触过啊。。。

     可是,总归是有解决的方法的。既然有这种接口来接收数据,那么一定能够发送
so

解决的方法:非常easy
     实现代码例如以下:
     
public static void main(String[]
args) throws Exception
{
            HttpClient client = HttpClients. createDefault();
            
            HttpPost post = new HttpPost("http://127.0.0.1/report/testPost" );
            
             //组装一个 json串。用于发送
            JSONObject jsonObj = new JSONObject();
            jsonObj.put( "website" , "http://www.dutycode.com" );
            jsonObj.put( "email" , "dutycode@gmail.com" );
            
            StringEntity entity = new StringEntity(jsonObj.toJSONString());
            entity.setContentEncoding( "UTF-8" );
            entity.setContentType( "application/json" );//设置为 json数据
            
            post.setEntity(entity);
            
            HttpResponse response = client.execute(post);
            
            HttpEntity resEntity = response.getEntity();
            String res = EntityUtils. toString(resEntity);
            
            System. out .println(res);
      }

问题2 Webproject怎样去接收一个无參数的post呢?

     既然能发送,那么得想办法实现服务端啊,要不然怎么才干死心。

     so
     測试代码:(注,使用公司内部框架实现。但基本原理是一样的)
     
@Path ("testPost" )
 public ActionResult
getpost() throws Exception{
            StringBuilder sb
new StringBuilder ();
            InputStream is = getRequest().getInputStream();
            BufferedInputStream bis = new BufferedInputStream(is);
             byte []
buffer = new byte[1024];
             int read
= 0;
             while ((read=bis.read(buffer))
!= -1){
                  sb.append( new String(buffer,
0, read, "UTF-8" ));
            }
            
            System. out .println(sb.toString());
             return outputStream("{msg:success}" );
}

    原理非常easy。直接获取到post过来的全部数据流


上面两个结合起来一起測试的话,结果例如以下:
     第一段代码返回结果:
          
{msg:success}
     第二段代码返回结果:
{"email":"dutycode@gmail.com","website":"http://www.dutycode.com"}

w=80&m=5&text=http://www.dutycode.com/post-76.html" align="left" alt="" style="border:0px">版权全部:《攀爬蜗牛》 => 《httpclient发送无參数的post数据

本文地址:http://www.dutycode.com/post-76.html

除非注明。文章均为 《蜗牛爬》 原版的,欢迎转载!地址转载本文,请注明,谢谢

版权声明:本文博客原创文章,博客,未经同意,不得转载。

httpclient发送不带参数post数据的更多相关文章

  1. httpclient post请求带参数返回数据乱码问题解决

    客户端代码: //带参数的post请求 @Test public void doPostWithParam() throws Exception { CloseableHttpClient httpC ...

  2. 论httpclient上传带参数【commons-httpclient和apache httpclient区别】

    需要做一个httpclient上传,然后啪啪啪网上找资料 1.首先以前系统中用到的了commons-httpclient上传,找了资料后一顿乱改,然后测试 PostMethod filePost = ...

  3. HttpClient 发送请求和参数

    发送请求 没有参数 private static void getData() { String timeStamp = String.valueOf(System.currentTimeMillis ...

  4. HttpClient发送get post请求和数据解析

    最近在跟app对接的时候有个业务是微信登录,在这里记录的不是如何一步步操作第三方的,因为是跟app对接,所以一部分代码不是由我写,我只负责处理数据,但是整个微信第三方的流程大致都差不多,app端说要传 ...

  5. .net core web api 与httpclient发送和接收文件及数据

    客户端 HttpClient var url = $"https://localhost:44323/api/values/posttest?resource_source=yangwwme ...

  6. java发送post请求 ,请求数据放到body里

    java利用httpclient发送post请求 ,请求数据放到body里. /** * post请求 ,请求数据放到body里 * * @author lifq * * 2017年3月15日 下午3 ...

  7. Android系列之网络(三)----使用HttpClient发送HTTP请求(分别通过GET和POST方法发送数据)

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  8. Android系列之网络(一)----使用HttpClient发送HTTP请求(通过get方法获取数据)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  9. (一)----使用HttpClient发送HTTP请求(通过get方法获取数据)

    (一)----使用HttpClient发送HTTP请求(通过get方法获取数据) 一.HTTP协议初探: HTTP(Hypertext Transfer Protocol)中文 “超文本传输协议”,是 ...

随机推荐

  1. 【leetcode】LRU

    import java.util.HashMap; import java.util.Map; public class LRUCache { private int capacity; privat ...

  2. 这么多的技术,作为一个freshman,什么研究?

    科学技术,从哪里学习?        杨问了我几个最近:"如何学习技术?".说实话,其实,我自己只是一个资深兄弟.对于这个答案.这是更难以在本身回答. 可是.既然比师弟们多吃了几年 ...

  3. .c和.h档

    可一再声明,但不是很多定义 对于一个项目,我们应该要非常好的处理众多的.c和.h文件 1.通过头文件调用库功能:#include <stdio.h>       在非常多场合,源码不便(或 ...

  4. POJ 2152 Fire

    算是我的第一个树形DP 的题: 题目意思:N个城市形成树状结构.现在建立一些消防站在某些城市:每个城市有两个树形cost(在这个城市建立消防站的花费),limit : 我们要是每个城镇都是安全的:就是 ...

  5. 长方柱类【C++ 类定义】

    Description 编写基于对象的程序,求长方柱(Bulk)的体积.数据成员包括长(length).宽(width).高(heigth).体积,要求用成员函数实现下面的功能: (1)由键盘输入长方 ...

  6. linux 下安装jdk及配置jdk环境图解

    linux 下安装jdk及配置jdk环境图解 一:先检測是否已安装了JDK 运行命令: # rpm -qa|grep jdk  或   # rpm -q jdk  或  #find / -name j ...

  7. 采用Sambaserver由win平台,linux平台上传文件

    1.构造yum [root@db /]# cd /etc/yum.repos.d/ [root@db yum.repos.d]# vi yum.repo --改动光盘挂载位置,enabled设置为启动 ...

  8. 从零开始做UI-静电的sketch设计教室 视频教程

    全套31集目录 01-初识Sketch  http://www.ui.cn/detail/52223.html02-sketch的下载与安装  http://www.ui.cn/detail/5222 ...

  9. Apple Watch 1.0 开发介绍 1.2 简介 配置Xcode工程

    WatchKit app需要一个现有的iOS app.在iOS app工程中,添加一个新的WatchKit app target,它包含了WatchKit app和WatchKit extension ...

  10. SpringMVC源码解析- HandlerAdapter - ModelFactory(转)

    ModelFactory主要是两个职责: 1. 初始化model 2. 处理器执行后将modle中相应参数设置到SessionAttributes中 我们来看看具体的处理逻辑(直接充当分析目录): 1 ...