ASP與ActiveX控制項互動實戰(三)

來源:互聯網
上載者:User

龍捲風

關鍵字:ASP,ActiveX控制項,數位簽章,安全

 

問題提出:

ActiveX控制項得到用戶端的資訊,如何傳遞到服務端???

一種方法就是得到值後,使用Get,Post方式提交,這可能也是最常用的.

有沒有更好一些的方法呢?

能不能在控制項中直接向伺服器發出請求而得到資料呢?

 

開啟vb6,建立ActiveX控制項工程。

工程名:fOcx,使用者控制項名:UC3

添加1個按鈕,2個文字框

代碼如下:

 

Option Explicit

 

Private Sub Command1_Click()

'注意字串和數位寫法有些區別

'使用AsyncRead通過HTTP發送你的請求

UserControl.AsyncRead "http://yang/xml/activex.asp?s1=" & Text1.Text & "", vbAsyncTypeByteArray

UserControl.AsyncRead "http://yang/xml/activex.asp?s1=" & Text1.Text, vbAsyncTypeByteArray

End Sub

 

'AsyncReadComplete 事件用來從asp頁面接受和分析。

'當容器剛完成一個非同步讀取請求時 , 發生該事件?

'AsyncProp 中的數值指定了已完成的某個非同步資料讀取請求,

'它與前一個 AsyncRead 方法調用中的資料匹配。

'AsyncReadComplete 事件程序中應包含錯誤處理代碼,因為錯誤狀態會終止下載。

'如果發生了這種情況,當訪問 AsyncProperty 對象的 Value 屬性時將會發生錯誤。

Private Sub UserControl_AsyncReadComplete(AsyncProp As AsyncProperty)

On Error GoTo errhandle

Text2.Text = ByteArrayToString(AsyncProp.Value)

errhandle:

Err.Raise 601, "非同步讀取發生了錯誤", Err.Description

End Sub

'將位元組數群組轉換成字串

Public Function ByteArrayToString(bytArray() As Byte) As String

    Dim sAns As String

    sAns = StrConv(bytArray, vbUnicode)

    ByteArrayToString = sAns

End Function

 

我們來看看http://yang/xml/activex.asp這個檔案

<%

dim str

str=request("s1")

if str="name" then

response.write ("龍捲風")

elseif str="age" then

response.write ("26")

else

response.write ("沒有可用資訊返回")

end if

%>

很簡單,使用request接受參數,response返回。

 

這個例子可以進一步處理,將伺服器名以屬性的方式傳遞給控制項。

比如:<PARAM NAME="ServerName" VALUE="192.168.0.1 ">

然後在程式中得到,就可以使用了,如:

UserControl.AsyncRead "http://192.168.0.1/xml/activex.asp?s1=" & Text1.Text & "", vbAsyncTypeByteArray

 

然後在程式中得到就可以靈活處理了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.