關鍵字:xmlhttp,xml,web客戶端,c#,asp
所有的知識都不是最新的知識點,關鍵是達到自己的設計目的。
某些時候,我們可能需要客戶端做點什麼以簡化複雜的指令碼處理,比如加密之類的等。
不管用什麼樣的客戶端,首先我們應該確定我們遵守的協議,或者說如何設定或獲取我的資料。這裡,我們的伺服器端為iis5的asp程式,所以我們首先遵守的是http協議,然後在http協議上傳輸xml。用xml是因為更容易統一我們的資料格式,有xml這種思想我們為什麼不用呢。
恰好xmlhttp,就是基於http傳輸xml的很方便的類。
首先簡要說一下xmlhttp的兩個函式:
open(bstrmethod, bstrurl, varasync, bstruser, bstrpassword)
按照bstrmethod指定的http方法(如post,get等)開啟bstrurl指定的連線,其中varasync為是否非同步,bstruser, bstrpassword為訪問bstrurl時需要使用者及密碼。
send(varbody)
傳送的資料,或者應該說是提交的資料。
具體可以檢視相關的msxml sdk。
以下利用c#實現xml的傳輸,假定反饋的xml格式為"成功
"private msxml2.domdocument40class zxml; // 處理伺服器反饋結果
private int zlasterrorcode;
private string zlasterrordescription;
private const int oksuccess=0;
//以err打頭的都是一些常量
private int executecmd(string scmd, string method, string ext)
//根據scmd計算出surl的**省略。
tryfinally
else
else
catch
}zlasterrordescription = getxmlnodevalue(zxml, "/response/error");
if(zlasterrordescription.length==0)
else}}
}else
}return zlasterrorcode;
}然後是伺服器端的test.asp
<% language=vbscript %>
dim oxml
set oxml = server.createobject("msxml2.domdocument.4.0")
oxml.async = false
oxml.resolveexternals = false
oxml.load request
'然後對提交的xml資料進行處理
set oxml = nothing
'最後是反饋處理結果
response.contenttype = "text/xml" '由於反饋的是xml不可缺!!
response.charset= "gb2312" '反饋的內容的編碼,不可缺!!否則會出現非法字元不能被客戶端解析response.write "<?xml version=""1.0"" encoding=""gb2312"" ?>" & vbcrlf
response.write "1.0.0.0
中國人民萬歲
" & vbcrlf
%>
最後要說的是傳輸的xml資料格式,可以說就是你自己定義的協議了,以上只不過是拋磚引玉而已。努力,一切在你自己。
ONVIF客戶端開發
在使用 gsoap 框架生成 之後,得到檔案 soapc.c soapclient.c stdsoap2.c stdsoap2.h duration.c wsdd.h我們利用現有的soapclient,呼叫api構建onvif請求 包括xml,http client 開發前需要了解一下onvif官網...
XFire客戶端開發
引入 xfire相關的類庫 1.使用wsdl生成靜態客戶端 訪問任意語言編寫的web service 2.使用介面生成靜態客戶端 必須拿到服務端的介面class檔案 遠端 工廠 xfireproxyfactory factory new xfireproxyfactory 建立服務模型 servic...
electron windows客戶端開發探索
話不多說,直接開幹。起因 一個用electron框架開發的windows版瀏覽器需要我負責了。擼 將不知道的點記錄下來,僅供後續檢視。start chcp 65001 electron chcp 65001解釋 設定cmd顯示為utf 8編碼,windows cmd視窗執行此命令後cmd顯示不在亂碼...
web呼叫客戶端程式
2018.3.15更新 慚愧今天才看到這篇部落格寫的很贊,很全面,就是有點長,哈哈,不過看來搜尋也是一門學問啊。最近做一個整合需求,我們是b s架構的,對方是c s架構的,對方直接扔過來一個exe連ocx都沒有,讓我們呼叫,也就是說,我們需要通過js程式去呼叫他們的客戶端程式並傳入多個引數,當時內心...
2012 9 26 iOS客戶端開發與Web
ios客戶端用編譯語言,web用指令碼語言。編譯語言好處 很多錯誤編譯期就知道,不用擔心類似寫錯一個字母導致的問題。ios客戶端開發只能用xcode,無法選用自己喜歡的編輯器。使用指令碼語言的web無論前端後端對編輯器的選擇都很自由。客戶端一碰到異常就崩潰,直接退出,web一個try catch可以...