webservice 下载数据

比如地址:
http://localhost:8080/download?Request=getImage$imageId=hunan&format=png

我可以根据上面的地址在浏览器里面下载到一副图像hunan.png

我现在想在java程序里面下载类似的数据,url是不确定的,就设计说上面的url是代表图像下载 还有可能是指向一个个xml文件 甚至格式url也不一样等等,总之就是通过get的方式获取数据,我就是想知道怎么获取对应的文件名称和格式,我曾想过直接从url分析,但是这个范围太广,比如格式可能是通过format=png 也可能是format=image/png 甚至是自定义字段等,这个由不同的webservice提供者自己定义的,所以我想能不能通过请求的response着手获取这些信息?
[b]问题补充:[/b]
To:lovewhzlq
数据怎么拿到呢 比如名称之类的 从url分析困难啊

To:ywbanm
写的不是web 程序,是普通的gui程序,request不能用吧。


我把问题再说清楚点吧:

这样的
我们普通下载文件我知道 比如:
http://localhost:8080/hunan.png
只代表一个图片 我可以通过 URL的链接 openStream等方法通过流的方式下载这个图片到我的本地。
现在的情况是 对于webservice之类的:
http://localhost:8080/download?Request=getImage&imageId=hunan&format=png
这同样代表一个图片 其他应用程序传递给我这个地址 我拿它去请求这个图片,同时我也想获取这个图片的名称 格式等等信息以便于保存,如何获取就是我现在不清楚的。
[b]问题补充:[/b]
To:lovewhzlq

首先多谢你的关注。
我想你的意思也是从url本身着手对吧。
不知道从请求的响应可以吗?
就是URLConnection的一些方法不知道是否可行。
因为url大多就是形如:
http://localhost:8080/download?Request=getImage&imageId=hunan&format=png
这样的格式,但是参数名字比如imageID等无法确定的。
[b]问题补充:[/b]
To ywbanm:
:cry:
会变,未必就是png 可能是jpg 也可能是tif

。。。。

我不是说值不变,我是说文件后缀总不会变啊.

按你这么说 你参数变 值也变 你按什么解析啊?

去问问你们头 每个不同的webservice应该有不同的规范的

你按上面那个哥们说的,定义一个接口,对不同的webservice,应用不同的解析方式

定义一个通用的接口,

download(String method, String fileName, String fileTye)

具体实现类就可以很多个,只要实现这个接口就是

看半天不太明白你具体的意思,
你是说怎么取得这些参数么?
从Request里面可以获得啊,
Request.getParameter('format');

如果是分析对应的参数对应的哪个webservice,你就需要一个mapping文件了.

数据怎么拿到呢 比如名称之类的这些就是靠接口的具体实现来做了

下载请求的url总是有个规范吧,不能太随便,那怎么解析??

参数名字比如imageID等无法确定的

如果连名字都无法确定,就用正则表达式去匹配吧,把不会变的东西总结出来,比如像png这种后缀不会变吧?