两个问题:

     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. Linux 软连接与硬连接

    Linux 软连接与硬连接 对于一个文件来说,有唯一的索引接点与之相应,而对于一个索引接点号,却能够有多个文件名称与之相应.因此,在磁盘上的同一个文件能够通过不同的路径去訪问该文件.注意在Linux下 ...

  2. 远程方法调用(RMI)原理与示例 (转)

    RMI介绍 远程方法调用(RMI)顾名思义是一台机器上的程序调用另一台机器上的方法.这样可以大致知道RMI是用来干什么的,但是这种理解还不太确切.RMI是Java支撑分布式系统的基石,例如著名的EJB ...

  3. HTML<!DOCTYPE> 宣示

    在html页面,下面这行代码到底有什么用呢? <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" & ...

  4. 怎么确定你的CPU是否支持64位虚拟化

    http://www.grc.com/securable.htm 第一个64位表示你的电脑最多支持多少位的系统,32或者64. 第二个表示你的硬件是否支持DEP?Yes,支持.No,不支持.OFF,表 ...

  5. Android 自己定义ScrollView ListView 体验各种纵向滑动的需求

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38950509.本文出自[张鸿洋的博客] 1.概述 群里的一个哥们有个需求是这种: ...

  6. android AlarmManager采用

    Android的闹钟实现机制非常easy, 仅仅须要调用AlarmManager.Set()方法将闹钟设置提交给系统,当闹钟时间到后,系统会依照我们的设定发送指定的广播消息.我们写一个广播去接收消息做 ...

  7. setsockopt角色

    功能描写叙述: 获取或者设置与某个套接字关联的选 项. 选项可能存在于多层协议中.它们总会出如今最上面的套接字层. 当操作套接字选项时.选项位于的层和选项的名称必须给出.为了操作套接字层的选项,应该 ...

  8. WIZnet通过启动在线培训活动:计算机网络TCP/IP协议而事实上,现在的方法

    为了给大家营造更好的学习环境.WIZnet特此举办第一期培训活动,由WIZnet一线project师为你分享最最前沿和有用的网络技术知识,帮你解答开发过程中的疑问.欢迎前来交流.名额有限(20名满), ...

  9. Android Application Thread CPU GC Operatiing and OOM Question 0603-随手笔记

    面前app当完成测试,没问题,以完成整个老龄化阶段包含数据收发器,关键在 adb shell top -m 5  我发现我的 app pid 占用  CPU是最多的,事实上我想说写一个app是不难,你 ...

  10. Windows下效率必备软件

    AutoHotKey: 神器!神器!神器!当然也得看使用者咯(^__^) 嘻嘻…… Listary: 本地搜索神器,当然还有别的作用,More&More. Launchy : 快速启动安装的应 ...