当前位置:网站首页 > 技术博客 > 正文

httppost传参数



一、HTTP请求

Http的几种请求方式对应程序包中的HttpGet, HttpHead, HttpPost, HttpPut, HttpDelete, HttpTrace, and HttpOptions,这些类均实现了HttpUriRequest接口,所以可以作为execute的执行参数使用。

根据HTTP的请格式,我们可以知道有两种方式可以为request提供参数。

第一种方式:request-line

第二种方式:request-body

因为工作中使用HttpPost请求用到了这两种请求方式,所以下面就只列出HttpPost的请求,其他请求方式的等下次用到在补上。

二、HttpPost

1、request-line方式

打印结果如下:  http://192.168.1.75:23002/zyc/get/latest?region=&platNum

2、request-body

3、HttpPost两种方式结合在一起请求

三、BasicNameValuePair方法

BasicNameValuePair方法 进行参数传递时,只能使用String这种类型进行传递,事实上表单提交的get和post只能传递String类型,所以如何传递非String类型的参数,比如布尔类型、整型或者实体类。

其实第一个想到的就是将这些符合要求的类型转换成String类型就可以了,但是为什么可以直接转呢?

因为,httpPost.setEntity(new UrlEncodedFormEntity(params));这段神奇的代码

这里放到http entity里面的类型都是字节类型,HTTP协议与FTP,SMTP类似都是通过plain-text ASCII来进行CS数据通信的(不像TCP使用二进制,有历史原因,也更加节约带宽和方便调试),实际上并不存在什么String,Boolean,Integer数据类型,都是通过将byte进行ASCII编码来实现的,服务器端反序列化成String类型后,通过springMVC的框架进行解析,注意这里也需要区分提交方式,框架可能会选取适当的httpMessageConverter进行解析(这个是服务器关注的事情了)

                                            

  • 上一篇: 交叉编译教程
  • 下一篇: 工具的种类和用途
  • 版权声明


    相关文章:

  • 交叉编译教程2025-08-11 07:29:59
  • multimap java2025-08-11 07:29:59
  • ce认证有哪几家认证机构2025-08-11 07:29:59
  • linux交叉编译工具安装2025-08-11 07:29:59
  • latex如何引用参考文献2025-08-11 07:29:59
  • 工具的种类和用途2025-08-11 07:29:59
  • 乐高ev3编程设计讲解2025-08-11 07:29:59
  • sprintf函数的用法3%d2025-08-11 07:29:59
  • 小区内私搭乱建怎么界定2025-08-11 07:29:59
  • 什么是linux的发行版?2025-08-11 07:29:59