作者superlubu (劲过吕布)
看板java
标题Re: [问题] HttpURLConnection get file ?
时间Tue Jul 3 22:59:06 2007
※ 引述《Ruslan (露莎兰)》之铭言:
: 不好意思,第一次来 贵板问问题 ^^
: 我想 HttpURLConnection 取得某站的档案,但是公司内部对外有 proxy
: 而我不想在 run 时用 -D 指定 proxyHost 和 proxyPort
: 这种情况下可否先透过 Socket 通过 proxy
: 再用 HttpURLConnection 取得我要的档案?
: 此外 我送过去的 url 也不是一个档案的 path ,
: 而是一串 http://10.0.1.1/file.jsp&id=10 经过转址後回传 abc.txt
: 目前卡在两个地方
: 1)如何通过 proxy 连到 Internet?
其实一切 -D option 所设定的 System properties
都可以在程式中利用 System.getProperties().put(String prop_name, String value)
去设定。所以在你 create HttpURLConnection 前使用以上的 function 去
设好 proxy 就可以了。
: 2)如何取回转址後的 file?
这个要实测一下 :P 我以前也做过差不多的东西,也是从另一个 CGI 中抽回一个
HTML 档存下,内容的话是很简单的,只要把 URLConnection 的 inputstream 读
出就可以了。不过若你想要知道那个回传的档名称,就应该要透过 URLConnection
的 getHeaderField("Content-disposition") 吧。
[没有实测过,不过在做 servlet 时有时候要 return 一个 pdf 给 client 时,
在 HttpServletResponse 中 set Header :
res.setHeader("Content-disposition", "attachment; filename=remarks.pdf")
所以,我「猜」你在 URLConnection 中 getHeader("Content-disposition"),再
将 return string 中的 element split 一下,应该很容易就找到 return filename
的了]
[有时间我等一下打过 MHP2 後再测试看看是否正确 XD]
--
《为了要得到真相,就要向原 PO 伸图》
那就是伸图魔人的没图没真相原则,那时我们坚信那就是逼逼死的真实
靠么,图咧?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.218.142.161