Http协议对于java和asp.net的异同
来源:互联网 发布:常见设计模式 java 编辑:程序博客网 时间:2024/05/30 05:42
做过asp.net的人都知道,在服务器端接受数据时会用到request这个对象,如果是get的方式提交则会用request.QueryString来获取,如果是post表单提交则用request.form,对于request、request.QueryString、request.form以及request.headers等获取数据的方式的区别网上很多,这里就不讲了。
由于一个android项目,要向服务器端上传文件,一般做法就是用httpurlconnnction对象或者httpclient来做不难,网上的例子也一大堆,但是由于项目框架的原因,所有的http请求都是用的httpclient,这是因为httpclient对httpurlconnection的封装比较全面,但是服务器端是asp.net来做的,由于服务器端的接口已经使用了好久,而且公司之前的android项目上传文件都是用的httpurlconnection来上传的,而且只能上传一个文件。对此,我查看了httpclient api,在httpcommon中可以使用multipartentity可以实现模拟html表单提交的功能,能同时提交数据和文件,但是multipartenttity是放在body里的,而asp.net的request.inputstream是获取body里面的所有数据流,这就带来一个问题,除非服务器端的代码对inputstream再次进行解析,将表单数据和文件分开来,而之间的接口是用request.queryString的方式获取的表单数据,request.inputstream的方式来获取的file文件流,也就是之前表单数据是放在url里传过来的,body里只有一个file文件。
知道了request.inputstream到底获取的是什么内容后,那就好办了,httpclient是非常强大的,为了和asp.net的代码对接,只能将表单参数放到url中,但是问题又来了,在url后面拼接参数也就是?param1=value,new HttpPost(urlString)创建httppost对象时报错,看了一下错误提示,意思是有非法字符,之后将每个参数都进行了url编码
这样就可以通过了,过程中还有一个异常是由于jar包不兼容导致的,httpmine.jar和httpcore.jar的版本要匹配不然会在execute时报异常。
说了这么多其实只是为了说明http的协议格式在开发语言java与c#对应的使用方式的异同。协议肯定都是一样的,解析方式也是一样的,只是每个语言定义的类的形式不一样而已。
- Http协议对于java和asp.net的异同
- ws协议与http协议的异同
- 对于JAVA和.net
- http协议和asp.net页面生成周期
- 【ASP.NET】 WebForm和MVC异同点
- http协议与webSocket协议的异同点
- 方法的覆盖(java 和.net 的异同)
- 对于http协议的一次测试
- Webform, asp.net MVP, asp.net MVC 的异同
- Java 和 Http 协议
- Asp.net 学习之路---Http协议
- 简单分析下SPring MVC和Asp.net MVC的区别和异同点
- http请求,get和post的异同
- http请求,get和post的异同
- 扫盲:HTTP 和 HTTPS 的异同【转】
- ASP.NET-->>Get和Post的接收参数:Request.QueryString,Request.Form,Request.Params异同
- java中&和&&的异同
- C++和Java的异同
- ios读书笔记
- 天气预报接口api(中国天气网)
- JS中showModalDialog 详细使用
- 深入理解 Java中的 流 (Stream)
- 设计模式之工厂方法模式
- Http协议对于java和asp.net的异同
- Ecliplse 指定JRE
- C++ 14观察者模式
- [转载]代码虚拟化
- Python模块学习系列(2)----struct
- 去除源文件中的重复行的程序流程及其C代码实现
- 提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
- 11g RAC基于服务端的TAF,遇到会话failover到其他节点,但是VIP未漂
- 在Linux中提示No such file or directory解决方法