zoukankan      html  css  js  c++  java
  • get/post发送HTTP请求

    本节摘要:采用httpclient插件的post方式发送二进制数据流到http服务端

    说明,本节在我之前的一篇博客get/post方式调用http接口的基础上来介绍,本节的代码和之前的这篇博客放在同一个工程目录的同一个包下。

    1.背景介绍

    最近项目中发布了一个HTTP服务,HTTP服务端采用二进制流来接收数据,

    与其他系统的同事联调的时候,总是出现一些问题,现把这些问题列出来,并在代码中得到了解决。

    (1)请求的中文,服务器端接收到后为乱码

    (2)客户端接收到服务器端的响应报文后,中文为乱码

    (3)请求的报文中没有设置字符集,服务器报空指针异常

    (4)客户端发送请求后,服务器端接收到的二进制数据的长度为0,报NegativeArraySizeExceptio异常

    (5)服务端接收到客户端的报文后里面全是百分号以及英文字母(不用说,你懂的。)

    之前介绍过采用JDK自带的java.net.HttpURLConnection(见博客get/post发送HTTP请求2)可以解决这个问题,但是项目中发现客户端很多同事都是采用的httpclient插件,那咱这次就用httpclient插件来发送post请求,并解决以上问题。服务端接收代码以及输出代码不能改,那么我们只能想千方设百计的去修改完善我们客户端的代码。

    2.代码如下:

    之前的博客get/post方式调用http接口,这个直接采用发送字符串的形式,也没有解决中文问题,

    废话咱就不多说了,直接上代码

    (1)修改web.xml配置文件,增加以下几行

    web.xml

    servlet的配置,很easy

    (2)HTTP服务器端的代码

    PostHttpServer.java

    (3)HTTP客户端的代码

    PostHttpClient.java


    3.测试结果

    部署项目,启动tomc,运行客户端代码中的main方式

    客户端的测试结果如下

    服务端的测试结果如下:

     
    标签: HTTP

    当前标签: HTTP

     
    月月鸟0820 2012-05-05 12:01 阅读:492 评论:0
     
    月月鸟0820 2012-04-27 12:07 阅读:1627 评论:0
     
    月月鸟0820 2012-02-26 21:29 阅读:1452 评论:3
     
     
  • 相关阅读:
    区间DP入门
    Prime Permutation(思维好题 )
    小字辈 (bfs好题)
    博弈论小结之尼姆博弈
    Hometask
    Lucky Sum (dfs打表)
    对称博弈
    尼姆博弈
    莫队算法 ( MO's algorithm )
    Codeforces 988D Points and Powers of Two ( 思维 || 二的幂特点 )
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2485043.html
Copyright © 2011-2022 走看看