HttpURLConnection取不得参数的原因分析
来源:互联网 发布:软件网站项目 编辑:程序博客网 时间:2024/05/18 00:33
项目由3个系统组成:1台服务器里装的weblogic8.1,里面是AP,1台服务器是装的tomcat,里面有处理程序和文件服务2个系统。只有AP能够连接数据库。
项目中要用到下载和上传。
上传通过Flex上传到文件服务器后,由处理的系统进行处理,然后AP去处理的系统里面抓数据,由AP记录进数据库,再返回给用户。此地方用的HttpURLConnection进行的连接抓取数据,没有问题。
下载通过AP查询数据库,进行参数整合处理,将参数发送到处理系统,由处理系统在文件服务中寻找需要的资料,然后进行打包处理,再将下载路径返回给AP。此地方用的HttpURLConnection进行连接和发送数据,出现问题。。。
情况分析:
在本地做AP连接正式环境,没有问题,可以下载和传递数据。但是正式环境的AP却没有办法。。。
正式的AP和文件服务器不在同一个机房,属于跨域操作,之间有防火墙阻隔,由于在本地测试没有问题,说明是正式环境的AP的防火墙设置有问题。但是由于不能修改防火墙配置,只能另寻办法。
虽然用了2次HttpURLConnection,但是方法不一样,一次是用POST方法但是将参数直接放在链接后的,可以取到。而出现问题的是用POST方法但是是将参数写入流中的。由于参数较多,而且参数间有层级关系,因此使用原始的参数&参数的方式放在URL后面不实际,而且判断会有很多问题。而且参数长度有可能会使字符串的长度达到2W。。。
HttpURLConnection的实质其实是创建Socket连接,但是其创建的是随机端口,而机房设置是只开放了80等常用端口,其他端口全部封死,因此,写入流中的参数在文件服务器那无法抓取到。
解决办法:
使用JSON将所需要的参数进行对象封装,然后连接到URL后面,仍然使用POST方法,就可以传递到文件服务器上。处理参数的时候,也改成JSON的处理方式,这样,逻辑清楚,也方便控制。
- HttpURLConnection取不得参数的原因分析
- httpUrlConnection的参数详解
- httpUrlConnection的参数详解
- 用HttpURLConnection进行Post请求应答结果为null的原因分析
- executor-cores参数并未对vcores生效的原因分析
- 页面传参数可能导致中文乱码的原因分析
- executor-cores参数并未对vcores生效的原因分析
- 微信的redirect_uri参数错误原因分析
- 电商分析:网站运营不得不做的用户分析
- 2016年最火爆手机来袭,四大原因分析不得不服。
- JDK的HttpURLConnection调用setRequestProperty失败的原因走查
- HttpURLConnection上传大文件内存溢出的原因及解决办法
- SpringMVC接收不到前端参数原因分析
- jsp/servlet取参数乱码问题分析
- 书单 | 做数据分析不得不看的书有哪些?
- 青少年犯罪的原因分析
- $_POST取不到值的原因
- 分析 mysql_fetch_assoc()方法参数类型错误的警告信息 的出现原因
- 大内高手—栈/堆
- Puma:手机主题营销
- 大内高手—全局内存
- 大内高手—内存管理器
- 改变人一生的五句话
- HttpURLConnection取不得参数的原因分析
- JFreeChart设置背景图片
- 大内高手—共享内存与线程局部存储
- 大内高手—常见内存错误
- 大内高手—惯用手法
- 一个故事理解什么是ERP
- 大内高手--调试手段及原理
- [转]通过覆盖__atexit进行缓冲区溢出攻击
- Tkprof