`
jsnjlc
  • 浏览: 50919 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

HttpURLConnection取不得参数的原因分析

阅读更多

项目由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 servlet 多文件参数 断点上传

    本知识点将深入探讨如何使用`HttpURLConnection`与Servlet协同工作,处理多文件参数以及实现断点上传功能。 首先,`HttpURLConnection`是Java API中的一个核心类,它负责提供HTTP协议的连接功能。相比Apache ...

    HttpURLConnection实现三方接口调用,带有FILE文件参数

    HttpURLConnection实现三方接口HTTP调用调用,带有FILE文件参数

    HttpURLConnection文件下载\httpURLConnection文件下载

    这个方法接受一个目标URL和本地文件名作为参数。它创建了一个`FileOutputStream`对象来准备写入文件,接着建立了一个`HttpURLConnection`连接到指定的URL。通过设置`setDoOutput(true)`表明这是一个POST请求,但实际...

    使用HttpURLConnection或HttpClient方式传json值到spring中

    在Java开发中,我们经常需要通过HTTP协议与服务器进行数据交互...选择哪种方式取决于项目需求和性能考虑。`HttpURLConnection`更轻量,适合简单场景,而`HttpClient`提供了更强大的功能,适用于复杂请求和高并发环境。

    JAVA通过HttpURLConnection 上传和下载文件的方法

    JAVA通过HttpURLConnection上传和下载文件的方法 JAVA通过HttpURLConnection上传和下载文件的方法是非常有实用价值的,需要的朋友可以参考下。HttpURLConnection是一个Java类,用于从网络中读取数据或向网络中写入...

    HttpURLConnection调用三方HTTP接口,带有FILE文件参数

    HttpURLConnection调用三方HTTP接口,带有FILE文件参数

    使用HttpUrlConnection实现上传文件 服务器端代码

    在Java编程环境中,当需要与Web服务器交互,例如上传文件时,`HttpURLConnection`是一个常见的选择,因为它提供了灵活且高效的方式。本篇文章将详细讲解如何使用`HttpURLConnection`实现文件上传,同时涉及到服务器...

    HttpURLConnection

    HttpURLConnection的demo,里面有网络请求get post 上传文件,下载文件,介绍HttpURLConnection这个类整体流程是怎样使用的,方便初学者学习

    Httpurlconnection

    对于GET请求,通常不需要写入数据,但可能需要设置查询参数在URL中。 读取响应时,需要设置`setDoInput(true)`来表明将从连接中读取数据: ```java connection.setDoInput(true); ``` 然后,可以使用InputStream...

    使用HttpURLConnection发送短信

    通过以上分析可以看出,使用`HttpURLConnection`发送短信的过程主要包括了配置参数、编码内容、构建URL、创建连接并发送请求以及异常处理等几个步骤。这种方式虽然简单易行,但在实际生产环境中还需要考虑到安全性...

    AsyncTask结合HttpUrlConnection的例子

    `AsyncTask`包含三个泛型参数:`Params`、`Progress`和`Result`,分别代表输入参数类型、进度类型和返回结果类型。在`AsyncTask`中,主要涉及以下几个关键方法: 1. `onPreExecute()`:在执行任务前调用,通常用于...

    使用HttpURLConnection下载图片

    在本例中,我们将探讨如何使用`HttpURLConnection`来下载图片,这是一个基础但实用的网络编程任务。下面我们将详细介绍这个过程,并涉及到的相关知识点。 1. **HttpURLConnection简介**: `HttpURLConnection`是`...

    HttpURLConnection获取json数据解析

    本篇将详细讲解如何使用HttpURLConnection获取JSON数据并进行解析。首先,我们需要理解HttpURLConnection的基本用法,然后了解JSON数据的解析方法,以及如何在Android主线程和子线程之间通过Handler进行数据传递。 ...

    本示例使用HttpUrlConnection实现上传文件

    本示例重点讲解如何利用Java内置的HttpURLConnection类来完成这个任务。HttpURLConnection是Java标准库提供的一种轻量级的HTTP客户端接口,适用于简单的HTTP通信场景。 首先,我们来看一下上传文件的基本流程: 1....

    Android 简单使用 HttpURLConnection

    通过学习和分析这个示例代码,你可以更好地理解`HttpURLConnection`的工作原理和在Android中的实际应用。 总的来说,`HttpURLConnection`是Android开发中基础的网络请求组件,虽然使用起来可能较为复杂,但它能够...

    通过HttpURLConnection获取SESSIONID

    //参数是a=""&b=""这样拼接的一个串 out.flush(); out.close(); out.write(parameters.getBytes(),0,parameters.getBytes().length); InputStream in = hc.getInputStream(); InputStreamReader ...

    HttpUrlConnection实例

    这个实例主要关注如何使用`HttpURLConnection`来获取JSON格式的数据,这是一个常见的任务,特别是在移动应用或者Web服务客户端中。让我们深入探讨这个话题。 首先,`HttpURLConnection`是更现代、更高效的选择,...

    HttpURLConnection使用总结示例源码

    本篇文章将深入探讨HttpURLConnection的使用方法、特性以及一些关键的示例代码。 一、HttpURLConnection简介 HttpURLConnection继承自URLConnection,它提供了对HTTP协议的直接支持。相比于HttpClient,...

    java HttpURLConnection工具

    java HttpURLConnection示例 HttpURLConnection工具

    远程连接服务器HttpURLConnection

    在远程连接服务器的过程中,`HttpURLConnection`扮演着至关重要的角色。 首先,我们要理解`HttpURLConnection`的基本用法。创建一个`URL`对象,然后通过`openConnection()`方法获取`URLConnection`实例,通常这个...

Global site tag (gtag.js) - Google Analytics