两个问题:

     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. Oracle SQL Lesson (3) - 使用单行函数自定义输出

    大小写转换函数LOWER('SQL Course') = sql courseUPPER('SQL Course') = SQL COURSEINITCAP('SQL Course') = Sql C ...

  2. docker 中国站 www.dockerpool.com 报价图片下载

    为了方便一些基本的下载docker 镜像,我建立了一个docker该站 http://www.dockerpool.com 对于Docker用户提供一站式Docker镜像服务: 稳定可靠的官方镜像下载 ...

  3. 【Android进阶】Gson解析json字符串的简单应用

    在客户端与服务器之间进行数据传输,一般采用两种数据格式,一种是xml,一种是json.这两种数据交换形式各有千秋,比如使用json数据格式,数据量会比较小,传输速度快,放便解析,而采用xml数据格式, ...

  4. CentOS 安装apache 及所需的 apr,apr-util,pcre

    安装apache前确定已安装 apr,apr-util,pcre 一.安装apr [root@xt test]# tar -zxf apr-1.4.5.tar.gz [root@xt test]# c ...

  5. CC2530存储空间——Code

    硬件平台:CC2530-F256 开发环境:IAR 8051(版本号 8.10) 參考: .<CC2530 User's Guide.pdf>(swru191c) .<IAR C/C ...

  6. Android Java 与 C++ 恒调用,路径、文件名、延长的最大长度

    /****************************************************************************  ********************* ...

  7. [LeetCode283]Move Zeros将一个数组中为0的元素移至数组末尾

    题目: Given an array nums, write a function to move all 0's to the end of it while maintaining the rel ...

  8. [Unity3D] 有关公告板实现的误区

    最直接实现一个公告板,我认为我们应该这样做: usingUnityEngine; publicclassBillboard :MonoBehaviour { voidUpdate() { transf ...

  9. 【程序员小助手】Synergy,感受穿越屏幕之美

    内容简介 1.Synergy简介 2.Synergy安装与配置 3.附录 [程序员小助手]系列 在这个系列文章中(不定期更新),小编会把这些年(也没几年)的编程学习和工作中使用到的个人感觉非常好的软件 ...

  10. 发现SQL Server惊天大秘密!!

    原文:发现SQL Server惊天大秘密!! --set statistics xml onCREATE TABLE T_TEST(ID INT IDENTITY PRIMARY KEY,Create ...