丁丁大站
今天一個人在家閒著,想說來寫個台鐵查詢系統,當然不是台鐵的系統不好,而是我想將查詢結果排版濃縮(簡單說就是過濾掉不要的東西),列印在一張小紙上面,說真的複製貼上word快多了,想說藉機練一下程式也無妨.
vb.net連接http不用自己建立socket,有專屬的HttpWebRequest HttpWebResponse元件可用,困難之處大概就是在字串分析跟排版上,html語法做切割稍微複雜了點,不過只要有時間就一定弄的出來,台鐵系統不常改版,做一次就可以用很久;)
焦點不知不覺轉移到丁丁大站,有些人blog相簿有鎖右鍵+防止複製文字的功能,想說透過字串取代那些語法再送到瀏覽器上,看了一下原始碼:body id="blog_main" onDragStart="return false" onContextmenu="return false" onSelectStart="return false"
這些就是搞鬼的地方,用replace取代掉即可(解決的方法很多,我的算複雜的了).拿了小偉哥的相簿來測試,上述功能是擋掉了不過照片都變XX,搜尋一下,原來丁丁伺服器會檢查referer(上次瀏覽的網頁),簡單說就是從無名網域來的才能成功顯示,直接打在網址列上referer是空的,這就是為什麼直接輸入照片網址會錯誤的緣故,所以只要用程式修改referer就可以摟.Dim myHttpWebRequest As HttpWebRequest = CType(WebRequest.Create("相片網址"), HttpWebRequest)
myHttpWebRequest.Referer = "丁丁大站的網址"
Dim myHttpWebResponse As HttpWebResponse = CType(myHttpWebRequest.GetResponse(), HttpWebResponse)
Dim picture As Bitmap = New Bitmap(myHttpWebResponse.GetResponseStream)
試了一下鎖住的相簿一樣找的到,不過前提是你要知道相簿的網址啦,網址的命名規則有人知道?
參考資料
HttpWebRequest.Referer屬性
darker兄
0 意見:
張貼留言