真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

vb.net的bs,vb和net

vb.net在BS軟件設置全局變量,可以在本項目全部頁面上使用嗎

添加一個類class1

在潼南等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供做網(wǎng)站、網(wǎng)站設計 網(wǎng)站設計制作定制制作,公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,成都品牌網(wǎng)站建設,成都營銷網(wǎng)站建設,外貿(mào)網(wǎng)站建設,潼南網(wǎng)站建設費用合理。

在類class1里如下定義:

Public Class class1

Public Shared userName As String

End Class

使用時用class1.username="Ann"

一般使用session來傳遞變量,細節(jié)可以百度一下。

vb.net編寫的貪吃蛇游戲,帶代碼的

需用VB實現(xiàn),代碼如下

'定義蛇的運動速度枚舉值

Private Enum tpsSpeed

QUICKLY = 0

SLOWLY = 1

End Enum

'定義蛇的運動方向枚舉值

Private Enum tpsDirection

D_UP = 38

D_DOWN = 40

D_LEFT = 37

D_RIGHT = 39

End Enum

'定義運動區(qū)域4個禁區(qū)的枚舉值

Private Enum tpsForbiddenZone

FZ_TOP = 30

FZ_BOTTOM = 5330

FZ_LEFT = 30

FZ_RIGHT = 5730

End Enum

'定義蛇頭及身體初始化數(shù)枚舉值

Private Enum tpsSnake

SNAKEONE = 1

SNAKETWO = 2

SNAKETHREE = 3

SNAKEFOUR = 4

End Enum

'定義蛇寬度的常量

Private Const SNAKEWIDTH As Integer = 100

'該過程用于顯示游戲信息

Private Sub Form_Load()

Me.Show

Me.lblTitle = "BS貪食蛇 — (版本 " App.Major "." App.Minor "." App.Revision ")"

Me.Caption = Me.lblTitle.Caption

frmSplash.Show 1

End Sub

'該過程用于使窗體恢復原始大小

Private Sub Form_Resize()

If Me.WindowState 1 Then

Me.Caption = ""

Me.Height = 6405 '窗體高度為 6405 緹

Me.Width = 8535 '窗體寬度為 8535 緹

Me.Left = (Screen.Width - Width) \ 2

Me.Top = (Screen.Height - Height) \ 2

End If

End Sub

'該過程用于重新開始開始游戲

Private Sub cmdGameStart_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

Beep

msg = MsgBox("您確認要重新開始游戲嗎?", 4 + 32, "BS貪食蛇")

If msg = 6 Then Call m_subGameInitialize

End Sub

'該過程用于暫停/運行游戲

Private Sub chkPause_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Me.chkPause.Caption = "暫停游戲(P)" Then

Me.tmrSnakeMove.Enabled = False

Me.tmrGameTime.Enabled = False

Me.picMoveArea.Enabled = False

Me.lblPauseLab.Visible = True

Me.chkPause.Caption = "繼續(xù)游戲(R)"

Else

Me.tmrSnakeMove.Enabled = True

Me.tmrGameTime.Enabled = True

Me.picMoveArea.Enabled = True

Me.lblPauseLab.Visible = False

Me.chkPause.Caption = "暫停游戲(P)"

End If

End Sub

'該過程用于顯示游戲規(guī)則

Private Sub cmdGameRules_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

Beep

MsgBox " BS貪食蛇:一個規(guī)則最簡單的趣味游戲,您將用鍵盤" Chr(13) _

"上的4個方向鍵來控制蛇的運動方向。在運動過程中蛇" Chr(13) _

"不能后退,蛇的頭部也不能接觸到運動區(qū)域的邊線以外" Chr(13) _

"和蛇自己的身體,否則就游戲失敗。在吃掉隨機出現(xiàn)的" Chr(13) _

"果子后,蛇的身體會變長,越長難度越大。祝您好運??!", 0 + 64, "游戲規(guī)則"

End Sub

'該過程用于顯示游戲開發(fā)信息

Private Sub cmdAbout_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

Beep

MsgBox "BS貪食蛇" "(V-" App.Major "." App.Minor "版本)" Chr(13) Chr(13) _

"" Chr(13) Chr(13) _

"由PigheadPrince設計制作" Chr(13) _

"CopyRight(C)2002,BestSoft.TCG", 0, "關于本游戲"

End Sub

'該過程用于退出游戲

Private Sub cmdExit_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

Beep

msg = MsgBox("您要退出本游戲嗎?", 4 + 32, "BS貪食蛇")

Select Case msg

Case 6

End

Case 7

Me.chkWindowButton(2).Value = 0

Exit Sub

End Select

End Sub

'該過程用于拖動窗體_(點擊圖標)

Private Sub imgWindowTop_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

ReleaseCapture

SendMessage Me.hwnd, WM_SYSCOMMAND, SC_MOVE, 0

End Sub

'該共用過程用于處理窗體控制按鈕組的相關操作_(鎖定、最小化、退出)

Private Sub chkWindowButton_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button 1 Then Exit Sub

Select Case Index

Case 0 '鎖定窗體

If Me.chkWindowButton(0).Value = 1 Then

Me.imgWindowTop.BorderStyle = 0

Me.imgWindowTop.Enabled = False

Else

Me.imgWindowTop.BorderStyle = 1

Me.imgWindowTop.Enabled = True

End If

Case 1 '最小化

Me.WindowState = 1

Me.chkWindowButton(1).Value = 0

Me.Caption = "BS貪食蛇 — (V-" App.Major "." App.Minor "版本)"

Case 2 '退出

Beep

msg = MsgBox("您要退出本游戲嗎?", 4 + 32, "BS貪食蛇")

Select Case msg

Case 6

End

Case 7

Me.chkWindowButton(2).Value = 0

Exit Sub

End Select

End Select

End Sub

'該過程用于設置蛇運動速度的快慢

Private Sub hsbGameSpeed_Change()

Me.tmrSnakeMove.Interval = Me.hsbGameSpeed.Value

End Sub

'該過程用于通過鍵盤的方向鍵改變蛇的運動方向

Private Sub picMoveArea_KeyDown(KeyCode As Integer, Shift As Integer)

Select Case g_intDirection

Case D_UP

If KeyCode = D_DOWN Then Exit Sub

Case D_DOWN

If KeyCode = D_UP Then Exit Sub

Case D_LEFT

If KeyCode = D_RIGHT Then Exit Sub

Case D_RIGHT

If KeyCode = D_LEFT Then Exit Sub

End Select

g_intDirection = KeyCode

End Sub

'該計時循環(huán)過程用于計算游戲耗費的秒數(shù)并顯示

Private Sub tmrGameTime_Timer()

g_lngGameTime = g_lngGameTime + 1

Me.lblGameTime.Caption = g_lngGameTime "秒"

End Sub

'該計時循環(huán)過程用于控制蛇的行動軌跡

Private Sub tmrSnakeMove_Timer()

Dim lngSnakeX As Long, lngSnakeY As Long, lngSnakeColor As Long

Dim lngPointX As Long, lngPointY As Long, lngPointColor As Long

Randomize

Me.picMoveArea.SetFocus

Me.picMoveArea.Cls

'確認蛇頭的運動方向并獲取新的位置

Select Case g_intDirection

Case D_UP '向上運動

g_udtSnake(SNAKEONE).Snake_CurX = g_udtSnake(SNAKEONE).Snake_OldX

g_udtSnake(SNAKEONE).Snake_CurY = g_udtSnake(SNAKEONE).Snake_OldY

g_udtSnake(SNAKEONE).Snake_CurY = g_udtSnake(SNAKEONE).Snake_CurY - SNAKEWIDTH

Case D_DOWN '向下運動

g_udtSnake(SNAKEONE).Snake_CurX = g_udtSnake(SNAKEONE).Snake_OldX

g_udtSnake(SNAKEONE).Snake_CurY = g_udtSnake(SNAKEONE).Snake_OldY

g_udtSnake(SNAKEONE).Snake_CurY = g_udtSnake(SNAKEONE).Snake_CurY + SNAKEWIDTH

Case D_LEFT '向左運動

g_udtSnake(SNAKEONE).Snake_CurX = g_udtSnake(SNAKEONE).Snake_OldX

g_udtSnake(SNAKEONE).Snake_CurX = g_udtSnake(SNAKEONE).Snake_CurX - SNAKEWIDTH

g_udtSnake(SNAKEONE).Snake_CurY = g_udtSnake(SNAKEONE).Snake_OldY

Case D_RIGHT '向右運動

g_udtSnake(SNAKEONE).Snake_CurX = g_udtSnake(SNAKEONE).Snake_OldX

g_udtSnake(SNAKEONE).Snake_CurX = g_udtSnake(SNAKEONE).Snake_CurX + SNAKEWIDTH

g_udtSnake(SNAKEONE).Snake_CurY = g_udtSnake(SNAKEONE).Snake_OldY

End Select

'根據(jù)新的位置繪制蛇頭

lngSnakeX = g_udtSnake(SNAKEONE).Snake_CurX

lngSnakeY = g_udtSnake(SNAKEONE).Snake_CurY

lngSnakeColor = g_udtSnake(SNAKEONE).Snake_Color

Me.picMoveArea.PSet (lngSnakeX, lngSnakeY), lngSnakeColor

'移動蛇身體其他部分的位置

For i = 2 To g_intSnakeLength

g_udtSnake(i).Snake_CurX = g_udtSnake(i - 1).Snake_OldX

g_udtSnake(i).Snake_CurY = g_udtSnake(i - 1).Snake_OldY

lngSnakeX = g_udtSnake(i).Snake_CurX

lngSnakeY = g_udtSnake(i).Snake_CurY

lngSnakeColor = g_udtSnake(i).Snake_Color

Me.picMoveArea.PSet (lngSnakeX, lngSnakeY), lngSnakeColor

Next i

'更新蛇舊的坐標位置

For j = 1 To g_intSnakeLength

g_udtSnake(j).Snake_OldX = g_udtSnake(j).Snake_CurX

g_udtSnake(j).Snake_OldY = g_udtSnake(j).Snake_CurY

Next j

'判斷蛇在移動中是否到了禁區(qū)而導致游戲失敗

If m_funMoveForbiddenZone(g_udtSnake(SNAKEONE).Snake_CurX, g_udtSnake(SNAKEONE).Snake_CurY) Then

Beep

MsgBox "您的蛇移動到了禁區(qū),游戲失??!", 0 + 16, "BS貪食蛇"

Me.tmrSnakeMove.Enabled = False

Me.tmrGameTime.Enabled = False

Me.picMoveArea.Visible = False

Exit Sub

End If

'判斷蛇在移動中是否碰到了自己的身體而導致游戲失敗

If m_funTouchSnakeBody(g_udtSnake(SNAKEONE).Snake_CurX, g_udtSnake(SNAKEONE).Snake_CurY) Then

Beep

MsgBox "您的蛇在移動中碰到了自己的身體,游戲失?。?, 0 + 16, "BS貪食蛇"

Me.tmrSnakeMove.Enabled = False

Me.tmrGameTime.Enabled = False

Me.picMoveArea.Visible = False

Exit Sub

End If

'判斷蛇是否吃到了果子

If m_funEatPoint(g_udtSnake(SNAKEONE).Snake_CurX, g_udtSnake(SNAKEONE).Snake_CurY) Then

'累加玩家的得分并刷新得分顯示

g_intPlayerScore = g_intPlayerScore + 1

Me.lblYourScore.Caption = g_intPlayerScore "分"

Call m_subAddSnake '加長蛇的身體

Call m_subGetPoint '獲取下一個果子的位置和顏色

Else

'繪制果子

lngPointX = g_udtPoint.Point_X

lngPointY = g_udtPoint.Point_Y

lngPointColor = g_udtPoint.Point_Color

Me.picMoveArea.PSet (lngPointX, lngPointY), lngPointColor

End If

End Sub

'該私有子過程用于初始化游戲

Private Sub m_subGameInitialize()

Erase g_udtSnake '清空蛇的結構數(shù)組

g_intPlayerScore = 0 '清空玩家的得分

g_lngGameTime = 0 '清空游戲耗費的秒數(shù)

g_intDirection = D_DOWN '設定蛇的初始運動方向為下

g_intSnakeLength = 4 '設定蛇的初始長度

ReDim g_udtSnake(1 To g_intSnakeLength) '重新定義蛇的長度

'定義蛇頭部的數(shù)據(jù)

With g_udtSnake(SNAKEONE)

.Snake_OldX = 530

.Snake_OldY = 530

.Snake_Color = vbBlack

End With

'定義蛇身第2節(jié)的數(shù)據(jù)

With g_udtSnake(SNAKETWO)

.Snake_OldX = 530

.Snake_OldY = 430

.Snake_Color = vbGreen

End With

'定義蛇身第3節(jié)的數(shù)據(jù)

With g_udtSnake(SNAKETHREE)

.Snake_OldX = 530

.Snake_OldY = 330

.Snake_Color = vbYellow

End With

'定義蛇身第4節(jié)的數(shù)據(jù)

With g_udtSnake(SNAKEFOUR)

.Snake_OldX = 530

.Snake_OldY = 230

.Snake_Color = vbRed

End With

Me.picMoveArea.Visible = True

Me.lblYourScore.Caption = g_intPlayerScore "分"

Me.lblGameTime.Caption = g_lngGameTime "秒"

Me.tmrSnakeMove.Interval = Me.hsbGameSpeed.Value

Me.tmrSnakeMove.Enabled = True

Me.tmrGameTime.Enabled = True

Call m_subGetPoint '獲取第一個果子的位置和顏色

End Sub

如何用vb.net2003讀寫內(nèi)存

使用FileStream讀寫文件

文件頭:

using System;

using System.Collections.Generic;

using System.Text;

using System.IO;

讀文件核心代碼:

byte[] byData = new byte[100];

char[] charData = new char[1000];

try

{

FileStream sFile = new FileStream("文件路徑",FileMode.Open);

sFile.Seek(55, SeekOrigin.Begin);

sFile.Read(byData, 0, 100); //第一個參數(shù)是被傳進來的字節(jié)數(shù)組,用以接受FileStream對象中的數(shù)據(jù),第2個參數(shù)是字節(jié)數(shù)組中開始寫入數(shù)據(jù)的位置,它通常是0,表示從數(shù)組的開端文件中向數(shù)組寫數(shù)據(jù),最后一個參數(shù)規(guī)定從文件讀多少字符.

}

catch (IOException e)

{

Console.WriteLine("An IO exception has been thrown!");

Console.WriteLine(e.ToString());

Console.ReadLine();

return;

}

Decoder d = Encoding.UTF8.GetDecoder();

d.GetChars(byData, 0, byData.Length, charData, 0);

Console.WriteLine(charData);

Console.ReadLine();

寫文件核心代碼:

FileStream fs = new FileStream(文件路徑,FileMode.Create);

//獲得字節(jié)數(shù)組

byte [] data =new UTF8Encoding().GetBytes(String);

//開始寫入

fs.Write(data,0,data.Length);

//清空緩沖區(qū)、關閉流

fs.Flush();

fs.Close();

2、使用StreamReader和StreamWriter

文件頭:

using System;

using System.Collections.Generic;

using System.Text;

using System.IO;

StreamReader讀取文件:

StreamReader objReader = new StreamReader(文件路徑);

string sLine="";

ArrayList LineList = new ArrayList();

while (sLine != null)

{

sLine = objReader.ReadLine();

if (sLine != null!sLine.Equals(""))

LineList.Add(sLine);

}

objReader.Close();

return LineList;

StreamWriter寫文件:

FileStream fs = new FileStream(文件路徑, FileMode.Create);

StreamWriter sw = new StreamWriter(fs);

//開始寫入

sw.Write(String);

//清空緩沖區(qū)

sw.Flush();

//關閉流

sw.Close();

fs.Close();

===================================================================================

方式一:用FileStream

//實例化一個保存文件對話框

SaveFileDialog sf = new SaveFileDialog();

//設置文件保存類型

sf.Filter = "txt文件|*.txt|所有文件|*.*";

//如果用戶沒有輸入擴展名,自動追加后綴

sf.AddExtension = true;

//設置標題

sf.Title = "寫文件";

//如果用戶點擊了保存按鈕

if(sf.ShowDialog()==DialogResult.OK)

{

//實例化一個文件流---與寫入文件相關聯(lián)

FileStream fs = new FileStream(sf.FileName,FileMode.Create);

//獲得字節(jié)數(shù)組

byte [] data =new UTF8Encoding().GetBytes(this.textBox1.Text);

//開始寫入

fs.Write(data,0,data.Length);

//清空緩沖區(qū)、關閉流

fs.Flush();

fs.Close();

}

方式二:用StreamWriter

//實例化一個保存文件對話框

SaveFileDialog sf = new SaveFileDialog();

//設置文件保存類型

sf.Filter = "txt文件|*.txt|所有文件|*.*";

//如果用戶沒有輸入擴展名,自動追加后綴

sf.AddExtension = true;

//設置標題

sf.Title = "寫文件";

//如果用戶點擊了保存按鈕

if (sf.ShowDialog() == DialogResult.OK)

{

//實例化一個文件流---與寫入文件相關聯(lián)

FileStream fs = new FileStream(sf.FileName, FileMode.Create);

//實例化一個StreamWriter--與fs相關聯(lián)

StreamWriter sw = new StreamWriter(fs);

//開始寫入

sw.Write(this.textBox1.Text);

//清空緩沖區(qū)

sw.Flush();

//關閉流

sw.Close();

fs.Close();

}

string FileName = Guid.NewGuid().ToString() + ".txt"; //GUID生成唯一文件名

StringBuilder ckpw = new StringBuilder("\"憑證輸出\", \"V800\", \"001\", \"東風隨州專用汽車有限公司\"," + "\"F89自由項16\", \"F90審核日期:\"");

if (!FileIO.IsFolderExists(Server.MapPath("pzsc")))

FileIO.CreaterFolder(Server.MapPath(""), "");

string filePath = Server.MapPath("pzsc") + "\\" + FileName;

System.IO.StreamWriter sw = new System.IO.StreamWriter(filePath, false, Encoding.GetEncoding("GB2312"));//創(chuàng)建的時候需要指定編碼格式,默認是UTF-8,中文顯示亂碼

sw.WriteLine(ckpw.ToString());

sw.Close();

方式三:用BinaryWriter

//實例化一個保存文件對話框

SaveFileDialog sf = new SaveFileDialog();

//設置文件保存類型

sf.Filter = "txt文件|*.txt|所有文件|*.*";

//如果用戶沒有輸入擴展名,自動追加后綴

sf.AddExtension = true;

//設置標題

sf.Title = "寫文件";

//如果用戶點擊了保存按鈕

if (sf.ShowDialog() == DialogResult.OK)

{

//實例化一個文件流---與寫入文件相關聯(lián)

FileStream fs = new FileStream(sf.FileName, FileMode.Create);

//實例化BinaryWriter

BinaryWriter bw = new BinaryWriter(fs);

bw.Write(this.textBox1.Text);

//清空緩沖區(qū)

bw.Flush();

//關閉流

bw.Close();

fs.Close();

}

C#緩存流示例------用緩存流復制文件

C#文件處理操作必須先導入命名空間:using System.IO;

背景:使用VS2005、一個按鈕、一個窗體、C#緩存流、把D:\KuGoo\愛得太多.wma復制到D:\并更名為love.wma,即:D:\love.wma

在按鈕的Click事件中添加如下代碼:

private void button1_Click(object sender, EventArgs e)

{

//創(chuàng)建兩個文件流 一個是源文件相關,另一個是要寫入的文件

FileStream fs = new FileStream(@"D:\KuGoo\愛得太多.wma",FileMode.Open);

FileStream fs2 = new FileStream(@"D:\love.wma",FileMode.Create);

//創(chuàng)建一個字節(jié)數(shù)組,作為兩者之間的媒介

//好比兩個人拿蘋果,這個字節(jié)數(shù)組就好比一個籃子,一個人作死的把蘋果送到籃子里面,

//而我就可以作死得拿蘋果,通過這個媒介我們互不干擾,

//不需要互相等待【她往籃子里面放了蘋果我才可以去拿】,提高了效率

byte[] data = new byte[1024];

//創(chuàng)建兩個緩沖流,與兩個文件流相關聯(lián)

BufferedStream bs = new BufferedStream(fs);

BufferedStream bs2= new BufferedStream(fs2);

//fs作死的讀,fs2作死的寫,直到fs沒有字節(jié)可讀fs2就不寫了

//好比,一個人作死的往籃子里面丟蘋果,另一個人作死得往籃子里面拿蘋果,直到籃子里面沒有蘋果拿了為止

//即--那個人沒有蘋果往籃子里面放了

while(fs.Read(data,0,data.Length)0)

{

fs2.Write(data,0,data.Length);

fs2.Flush();

}

//關閉流,好比兩個人累了,都要休息 呵呵o(∩_∩)o...

fs.Close();

fs2.Close();

}

C#內(nèi)存流示例-----用內(nèi)存流來讀取圖片

C#文件處理操作必須先導入命名空間:using System.IO;

背景:一個窗體、一個pictureBox、一個lable[沒有選擇圖片,lable的text為"圖片未選擇"],在pictureBox1的Click事件中添加如下代碼:

private void pictureBox1_Click(object sender, EventArgs e)

{

//實例化一個打開文件對話框

OpenFileDialog op = new OpenFileDialog();

//設置文件的類型

op.Filter = "JPG圖片|*.jpg|GIF圖片|*.gif";

//如果用戶點擊了打開按鈕、選擇了正確的圖片路徑則進行如下操作:

if(op.ShowDialog()==DialogResult.OK)

{

//清空文本

this.label1.Text = "";

//實例化一個文件流

FileStream fs = new FileStream(op.FileName, FileMode.Open);

//把文件讀取到字節(jié)數(shù)組

byte[] data = new byte[fs.Length];

fs.Read(data, 0, data.Length);

fs.Close();

//實例化一個內(nèi)存流---把從文件流中讀取的內(nèi)容[字節(jié)數(shù)組]放到內(nèi)存流中去

MemoryStream ms = new MemoryStream(data);

//設置圖片框 pictureBox1中的圖片

this.pictureBox1.Image = Image.FromStream(ms);

}

}

vb.net/.net怎樣使用http協(xié)議的get和post?

不想一點一點寫了,粘貼給你吧

使用 HttpWebRequest 向網(wǎng)站提交數(shù)據(jù)

HttpWebRequest 是 .net 基類庫中的一個類,在命名空間 System.Net 下面,用來使用戶通過 HTTP 協(xié)議和服務器交互。

HttpWebRequest 對 HTTP 協(xié)議進行了完整的封裝,對 HTTP 協(xié)議中的 Header, Content, Cookie 都做了屬性和方法的支持,很容易就能編寫出一個模擬瀏覽器自動登錄的程序。

程序使用 HTTP 協(xié)議和服務器交互主要是進行數(shù)據(jù)的提交,通常數(shù)據(jù)的提交是通過 GET 和 POST 兩種方式來完成,下面對這兩種方式進行一下說明:

1. GET 方式。 GET 方式通過在網(wǎng)絡地址附加參數(shù)來完成數(shù)據(jù)的提交,比如在地址 中,前面部分 表示數(shù)據(jù)提交的網(wǎng)址,后面部分 hl=zh-CN 表示附加的參數(shù),其中 hl 表示一個鍵(key), zh-CN 表示這個鍵對應的值(value)。程序代碼如下:

HttpWebRequest req = (HttpWebRequest) HttpWebRequest.Create( "" );

req.Method = "GET";

using (WebResponse wr = req.GetResponse())

{

//在這里對接收到的頁面內(nèi)容進行處理

}

2. POST 方式。 POST 方式通過在頁面內(nèi)容中填寫參數(shù)的方法來完成數(shù)據(jù)的提交,參數(shù)的格式和 GET 方式一樣,是類似于 hl=zh-CNnewwindow=1 這樣的結構。程序代碼如下:

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())

{

//在這里對接收到的頁面內(nèi)容進行處理

}

在上面的代碼中,我們訪問了 的網(wǎng)址,分別以 GET 和 POST 方式提交了數(shù)據(jù),并接收了返回的頁面內(nèi)容。然而,如果提交的參數(shù)中含有中文,那么這樣的處理是不夠的,需要對其進行編碼,讓對方網(wǎng)站能夠識別。

3. 使用 GET 方式提交中文數(shù)據(jù)。 GET 方式通過在網(wǎng)絡地址中附加參數(shù)來完成數(shù)據(jù)提交,對于中文的編碼,常用的有 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())

{

//在這里對接收到的頁面內(nèi)容進行處理

}

在上面的程序代碼中,我們以 GET 方式訪問了網(wǎng)址 ,傳遞了參數(shù)“參數(shù)一=值一”,由于無法告知對方提交數(shù)據(jù)的編碼類型,所以編碼方式要以對方的網(wǎng)站為標準。常見的網(wǎng)站中, (百度)的編碼方式是 gb2312, (谷歌)的編碼方式是 utf8。

4. 使用 POST 方式提交中文數(shù)據(jù)。 POST 方式通過在頁面內(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())

{

//在這里對接收到的頁面內(nèi)容進行處理

}

從上面的代碼可以看出, POST 中文數(shù)據(jù)的時候,先使用 UrlEncode 方法將中文字符轉換為編碼后的 ASCII 碼,然后提交到服務器,提交的時候可以說明編碼的方式,用來使對方服務器能夠正確的解析。

以上列出了客戶端程序使用 HTTP 協(xié)議與服務器交互的情況,常用的是 GET 和 POST 方式。現(xiàn)在流行的 WebService 也是通過 HTTP 協(xié)議來交互的,使用的是 POST 方法。與以上稍有所不同的是, WebService 提交的數(shù)據(jù)內(nèi)容和接收到的數(shù)據(jù)內(nèi)容都是使用了 XML 方式編碼。所以, HttpWebRequest 也可以使用在調(diào)用 WebService 的情況下。

vb.net 在BS頁面中,怎么調(diào)用客戶端本地程序

你除非寫插件,用戶訪問你的BS頁面的時候要安裝這個插件,然后由這個插件去讀取客戶端本地程序。不過這個插件目測很多瀏覽器是不支持的。一般只有IE可以用。


分享題目:vb.net的bs,vb和net
轉載注明:http://weahome.cn/article/dscspei.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部