Re: [問題] HttpURLConnection get file ?

看板java作者 (勁過呂布)時間18年前 (2007/07/03 22:59), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《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
文章代碼(AID): #16YcH2qJ (java)
文章代碼(AID): #16YcH2qJ (java)