當前位置:編程學習大全網 - 源碼下載 - 怎麽用 javascript asp 實現小偷程序?

怎麽用 javascript asp 實現小偷程序?

雖然js也能實現所謂的小偷程序,但是還是在服務端實現比較好,防止客戶端因為關閉了js導致網頁無法顯示。由於妳只會asp,因此我就用asp來解釋壹下。

壹.什麽是網頁?

網頁是代碼,其實是壹種文檔格式。是瀏覽器把這種格式的文檔解釋成機器能夠聽懂的語言。

二.我們拿在淘寶購物來做個比喻

1.在淘寶購物,我們首先要選定要購買的物品,這個物品就相當於url,也就是妳想要的東西(目標網頁)。

2.指定包裝和送貨方式.是不是易碎品需要海綿包裝,運輸方式是快遞還是平郵。我們在這裏選擇的送貨方式就是xmlhttp。為什麽選擇是xmlhttp?這是因為了妳所要運輸的物品性質決定了的。妳所要運送的物品時xml格式的文檔(註意,網頁代碼其實是壹種符合xml格式的文檔,由瀏覽器負責解釋這種文檔),所以我們指定了是包裝xml這種格式的http運輸方式。而有這種包裝的快遞運輸公司名叫microsoft.xmlhttp

http=Server.createobject("Microsoft.XMLHTTP") //選擇快遞公司

Http.open "GET",url,false //運輸細節

Http.send() //下訂單

3.網上買過東西的都知道,發貨有幾種狀態可以在快遞公司查詢:發出貨物,在途中,收到貨物。而我們發送的xmlhttp包裝的貨物也接受這種狀態的查詢。

Http.readystate 貨物狀態,有4種狀態,通常用的是第壹種狀態“已發出”,還有第四種狀態“已收到”,readystate的值前者為1,後者為4.

也就是說當Http.readystate=4時說明網頁已經下載好了(貨物送到家了)

4.假如收到貨物後,還要查驗是不是符合自己的需要。因為xmlhttp傳送的內容如果包含中文顯示還會亂碼,所以要進行轉碼工作。

這裏有壹點要註意,因為要轉碼,需要返回的是二進制數據,而不是dom對象。因此這裏的要寫成"Http.responseBody"而不是"Http.responseXml"

5.轉碼可以用adodb.stream組件的方法來完成。我們可以寫壹個函數來封裝這個組件。

Function bytesToBstr(body,Cset)

dim objstream

set objstream = Server.CreateObject("adodb.stream") //創建組件實例

objstream.Type = 1

objstream.Mode =3

objstream.Open

objstream.Write body //寫入內容,也就是妳收到的貨物

objstream.Position = 0

objstream.Type = 2

objstream.Charset = Cset

BytesToBstr = objstream.ReadText

objstream.Close

set objstream = nothing

End Function

這裏我們寫了壹個bytesToBstr函數,註意bytesToBstr的大小寫,因為網上面很多例子第壹個B是大寫,調用的時候卻又是小寫,雖然在大小寫不敏感的asp裏無所謂,但是這是壹種很不好的編程習慣,因為其他大多數編程語言都是大小寫敏感的。

getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312") 調用函數轉碼

set http=nothing 關閉xmlhttp鏈接,相當於簽收付款,關閉交易

Microsoft.XMLHTTP是壹個微軟家的組件,因為妳用的IIS服務和IE瀏覽器都是微軟家的,所以才會見到Microsoft.XMLHTTP。如果用其他瀏覽器,那麽就有可能是document.xmlHttp. 2者從本質上來說沒什麽區別,只是在服務端和客戶端使用時要註意同步和異步的問題。

  • 上一篇:php 獲取網頁頭部信息和網頁和網頁源代碼查看
  • 下一篇:青蛙影視app源代碼
  • copyright 2024編程學習大全網