vbs是解釋執(zhí)行的,在網(wǎng)頁(yè)上運(yùn)行的一般用的是 IE的庫(kù),或者是ASP的庫(kù),直接改后綴那種用的是mscrpt 的庫(kù),所以很多對(duì)象是不能通用的
建陽(yáng)ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!
VB.net 編寫的程序當(dāng)然可以XP上運(yùn)行,但是要用到.NET的庫(kù),就是要裝相應(yīng)版本的net framework 才可以運(yùn)行!
不想一點(diǎn)一點(diǎn)寫了,粘貼給你吧
使用 HttpWebRequest 向網(wǎng)站提交數(shù)據(jù)
HttpWebRequest 是 .net 基類庫(kù)中的一個(gè)類,在命名空間 System.Net 下面,用來使用戶通過 HTTP 協(xié)議和服務(wù)器交互。
HttpWebRequest 對(duì) HTTP 協(xié)議進(jìn)行了完整的封裝,對(duì) HTTP 協(xié)議中的 Header, Content, Cookie 都做了屬性和方法的支持,很容易就能編寫出一個(gè)模擬瀏覽器自動(dòng)登錄的程序。
程序使用 HTTP 協(xié)議和服務(wù)器交互主要是進(jìn)行數(shù)據(jù)的提交,通常數(shù)據(jù)的提交是通過 GET 和 POST 兩種方式來完成,下面對(duì)這兩種方式進(jìn)行一下說明:
1. GET 方式。 GET 方式通過在網(wǎng)絡(luò)地址附加參數(shù)來完成數(shù)據(jù)的提交,比如在地址 中,前面部分 表示數(shù)據(jù)提交的網(wǎng)址,后面部分 hl=zh-CN 表示附加的參數(shù),其中 hl 表示一個(gè)鍵(key), zh-CN 表示這個(gè)鍵對(duì)應(yīng)的值(value)。程序代碼如下:
HttpWebRequest req = (HttpWebRequest) HttpWebRequest.Create( "" );
req.Method = "GET";
using (WebResponse wr = req.GetResponse())
{
//在這里對(duì)接收到的頁(yè)面內(nèi)容進(jìn)行處理
}
2. POST 方式。 POST 方式通過在頁(yè)面內(nèi)容中填寫參數(shù)的方法來完成數(shù)據(jù)的提交,參數(shù)的格式和 GET 方式一樣,是類似于 hl=zh-CNnewwindow=1 這樣的結(jié)構(gòu)。程序代碼如下:
string param = "hl=zh-CNnewwindow=1";
byte[] bs = Encoding.ASCII.GetBytes(param);
HttpWebRequest req = (HttpWebRequest) HttpWebRequest.Create( "" );
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = bs.Length;
using (Stream reqStream = req.GetRequestStream())
{
reqStream.Write(bs, 0, bs.Length);
}
using (WebResponse wr = req.GetResponse())
{
//在這里對(duì)接收到的頁(yè)面內(nèi)容進(jìn)行處理
}
在上面的代碼中,我們?cè)L問了 的網(wǎng)址,分別以 GET 和 POST 方式提交了數(shù)據(jù),并接收了返回的頁(yè)面內(nèi)容。然而,如果提交的參數(shù)中含有中文,那么這樣的處理是不夠的,需要對(duì)其進(jìn)行編碼,讓對(duì)方網(wǎng)站能夠識(shí)別。
3. 使用 GET 方式提交中文數(shù)據(jù)。 GET 方式通過在網(wǎng)絡(luò)地址中附加參數(shù)來完成數(shù)據(jù)提交,對(duì)于中文的編碼,常用的有 gb2312 和 utf8 兩種,用 gb2312 方式編碼訪問的程序代碼如下:
Encoding myEncoding = Encoding.GetEncoding("gb2312");
string address = "?" + HttpUtility.UrlEncode("參數(shù)一", myEncoding) + "=" + HttpUtility.UrlEncode("值一", myEncoding);
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(address);
req.Method = "GET";
using (WebResponse wr = req.GetResponse())
{
//在這里對(duì)接收到的頁(yè)面內(nèi)容進(jìn)行處理
}
在上面的程序代碼中,我們以 GET 方式訪問了網(wǎng)址 ,傳遞了參數(shù)“參數(shù)一=值一”,由于無法告知對(duì)方提交數(shù)據(jù)的編碼類型,所以編碼方式要以對(duì)方的網(wǎng)站為標(biāo)準(zhǔn)。常見的網(wǎng)站中, (百度)的編碼方式是 gb2312, (谷歌)的編碼方式是 utf8。
4. 使用 POST 方式提交中文數(shù)據(jù)。 POST 方式通過在頁(yè)面內(nèi)容中填寫參數(shù)的方法來完成數(shù)據(jù)的提交,由于提交的參數(shù)中可以說明使用的編碼方式,所以理論上能獲得更大的兼容性。用 gb2312 方式編碼訪問的程序代碼如下:
Encoding myEncoding = Encoding.GetEncoding("gb2312");
string param = HttpUtility.UrlEncode("參數(shù)一", myEncoding) + "=" + HttpUtility.UrlEncode("值一", myEncoding) + "" + HttpUtility.UrlEncode("參數(shù)二", myEncoding) + "=" + HttpUtility.UrlEncode("值二", myEncoding);
byte[] postBytes = Encoding.ASCII.GetBytes(param);
HttpWebRequest req = (HttpWebRequest) HttpWebRequest.Create( "" );
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded;charset=gb2312";
req.ContentLength = postBytes.Length;
using (Stream reqStream = req.GetRequestStream())
{
reqStream.Write(bs, 0, bs.Length);
}
using (WebResponse wr = req.GetResponse())
{
//在這里對(duì)接收到的頁(yè)面內(nèi)容進(jìn)行處理
}
從上面的代碼可以看出, POST 中文數(shù)據(jù)的時(shí)候,先使用 UrlEncode 方法將中文字符轉(zhuǎn)換為編碼后的 ASCII 碼,然后提交到服務(wù)器,提交的時(shí)候可以說明編碼的方式,用來使對(duì)方服務(wù)器能夠正確的解析。
以上列出了客戶端程序使用 HTTP 協(xié)議與服務(wù)器交互的情況,常用的是 GET 和 POST 方式。現(xiàn)在流行的 WebService 也是通過 HTTP 協(xié)議來交互的,使用的是 POST 方法。與以上稍有所不同的是, WebService 提交的數(shù)據(jù)內(nèi)容和接收到的數(shù)據(jù)內(nèi)容都是使用了 XML 方式編碼。所以, HttpWebRequest 也可以使用在調(diào)用 WebService 的情況下。
VB.NET是基于.NET框架的完全對(duì)向?qū)ο蟮木幊陶Z(yǔ)言,而vb 6.0只是半面向?qū)ο蟮恼Z(yǔ)言,使用vb.net可以編制出功能更加強(qiáng)大的windows程序。現(xiàn)在,我們把vb.net和vb 6.0做一下比較,看看vb.net對(duì)比vb 6.0有著什么樣的特性和優(yōu)點(diǎn)。 1.在vb 6.0中,創(chuàng)建對(duì)象的時(shí)候,需要等這個(gè)對(duì)象創(chuàng)建完畢后,再另外調(diào)用一個(gè)獨(dú)立的方法對(duì)其進(jìn)行初始化。在vb.net中, 可以利用構(gòu)造函數(shù)為對(duì)象賦初值,這樣就不需要進(jìn)行煩瑣的調(diào)用賦初值了。構(gòu)造函數(shù)的使用,簡(jiǎn)化了編碼的過程和出錯(cuò)的機(jī)會(huì)。 2.vb.net編寫線程的能力比vb 6.0有很大的增強(qiáng)。 3.在vb 6.0中,需要首先聲明一個(gè)變量,然后才能對(duì)其賦值,這樣就需要寫兩行代碼。在vb.net中,可以 使用初始化函數(shù)將這兩個(gè)步驟合并在一行代碼中完成,這個(gè)似乎微小的改進(jìn),提供了更少、更簡(jiǎn)單、更易于維護(hù)的代碼。 4.vb.net基于.NET框架,開發(fā)者可以快速的可視化開發(fā)網(wǎng)絡(luò)應(yīng)用程序、網(wǎng)絡(luò)服務(wù)、Windows應(yīng)用程序和服務(wù)器端組件。 5.因?yàn)関b.net是基于.NET框架的,可以與其它.NET語(yǔ)言協(xié)同工作。 6.在vb.net中,通過Web窗體及ADO.NET,開發(fā)者可以快速開發(fā)可擴(kuò)展的Web站點(diǎn)。 如果你能進(jìn)一步學(xué)習(xí)vb.net,你會(huì)發(fā)現(xiàn)更多的新特性和優(yōu)點(diǎn)
分享標(biāo)題:包含vb.net交互式服務(wù)的詞條
轉(zhuǎn)載來于:http://chinadenli.net/article34/hpiese.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷、App開發(fā)、品牌網(wǎng)站設(shè)計(jì)、軟件開發(fā)、外貿(mào)建站、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)