最近有一個coding 的人,有一個request: 「以前我會把更新程式放在Hjnet提供的web上, 然後去下載 。 但是現在我不能這樣做了,變成我要讓user先點一下檔案存放的URL,然後網頁會跳到另一個有廣告的頁面,user要在那邊網頁上點一個圖片後才能下載。 你能不能寫一個程式來自動下載,全程不需要user 介入?」 「因為檔案都是直接FTP上傳的,所以檔案應該不是存放在DB裡面,但不知道要怎麼做」 然後去下載那段話之前用underline, 是因為我想不起來他說怎麼下載的了… 當下聽描述時得到的訊息不太完整,所以一開始猜想的方向是: 「http server會去檢查檔案類型,如果不是web page, 圖片的話, 就會去檢查該筆session是否瀏覽過同網站的某個PAGE?」-- 如果user 正常使用web的話,理應如此。 等到回家後,打了那一串URL(還給錯!! =.="") 看到redirect 之後的網址,才知道是怎麼回事: 當user 輸入網址:http://jack.download.hjnet.net/download/123.exe 之後 http server 會redirect :http://download.service.hjnet.net/download.html?http://jack.server1.hjnet.net/download/123.exe 而"下載檔案"的圖片中,對應的URL就是:http://jack.server1.hjnet.net/download/123.exe 也就是檔案實際存在的位址 所以問題很簡單,在get 到http server 的response 之後,再去裡面尋找檔案真正存放的URL 並使用即可: 之所以不讓程式直接去抓http://jack.server1.hjnet.net/download/123.exe 是因為也許下一次、另一個檔案,就不在server1.hjnet.net 上面了。~ 也許啦 所以每次都去parse 一下比較好 以下是我的code: import httplib from string import split URL1 = "http://jack.download.hjnet.net" F...