用Inet控制元件下載資料檔案,大檔案能成功下載,小檔案則下載了一個2K左右的錯誤資訊檔案,怎么回事?請指教
(1)Inet用的是OpenURL方法,
Dim b() As Byte
Dim strURL As String
Dim fil As Integer
On Error GoTo Err1
Label3.Caption = "正在下載。。。。。"
' 網址屏了
strURL = "http://www.kinglmm.com.cn/data/UserSer.DAT" ‘小檔案,下載內容不正確
'strURL = "ftp://www.kinglmm.com.cn/data/cod21.add" ’大檔案,正確下載
b() = Inet1.OpenURL(strURL, icByteArray)
If UBound(b) > 0 Then
fil = FreeFile
Open "D:\UserSer.dat" For Binary Access Write As #fil
'Open "D:\cod21.add" For Binary Access Write As #fil
Put #fil, , b()
Close #fil
Label3.Caption = "下載完畢"
Else
Label3.Caption = "無資料"
End If
Exit Sub
Err1:
MsgBox "資料下載錯誤"
(2)用Inet的Get方法也是一樣:
Inet1.URL = "http://www.kinglmm.com.cn/data/UserSer.DAT"
'Inet1.URL = "http://www.kinglmm.com.cn/data/cod21.ADD"
Inet1.Execute , "Get"
Private Sub Inet1_StateChanged(ByVal State As Integer)
Dim aa As Variant
Dim vtData() As Byte '資料變數。
Dim iU As Long, i As Integer, il As Integer
Dim TotalLength As Variant
If State = 12 Then
TotalLength = Val(Inet1.GetHeader("Content-length"))
PsB.Max = TotalLength
'Open "d:\CodeAdd.bin" For Binary Access Write As #1
'Open "d:\UserSer.Dat" For Binary Access Write As #1
'Open "d:\Cod21.bin" For Binary Access Write As #1
Open "d:\UserINfo.TXT" For Binary Access Write As #1
vtData = Inet1.GetChunk(1024, icByteArray)
Do While UBound(vtData) > 0
DoEvents
Put #1, , vtData
If (PsB.Value + 1024) > PsB.Max Then
PsB.Value = PsB.Max
Else
PsB.Value = PsB.Value + 1024
End If
vtData = Inet1.GetChunk(1024, icByteArray)
Loop
Put #1, , vtData
Close #1
MsgBox "下載完畢"
End If
If State = 11 Then '錯誤
End If
End Sub
小檔案下載沒有說出錯,但下載了一個2K的檔案,不是網站上的檔案,是一個錯誤資訊檔案,把它保存成TXT檔案后,顯示的內容是:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>無法找到該頁</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=GB2312">
<STYLE type="text/css">
BODY { font: 9pt/12pt 宋體 }
H1 { font: 12pt/15pt 宋體 }
H2 { font: 9pt/12pt 宋體 }
A:link { color: red }
A:visited { color: maroon }
</STYLE>
</HEAD><BODY><TABLE width=500 border=0 cellspacing=10><TR><TD>
<h1>無法找到該頁</h1>
您正在搜索的頁面可能已經洗掉、更名或暫時不可用。
<hr>
<p>請嘗試以下操作:</p>
<ul>
<li>確保瀏覽器的地址欄中顯示的網站地址的拼寫和格式正確無誤。</li>
<li>如果通過單擊鏈接而到達了該網頁,請與網站管理員聯系,通知他們該鏈接的格式不正確。
</li>
<li>單擊<a href="javascript:history.back(1)">后退</a>按鈕嘗試另一個鏈接。</li>
</ul>
<h2>HTTP 錯誤 404 - 檔案或目錄未找到。<br>Internet 資訊服務 (IIS)</h2>
<hr>
<p>技術資訊(為技術支持人員提供)</p>
<ul>
<li>轉到 <a href="http://go.microsoft.com/fwlink/?linkid=8180">Microsoft 產品支持服務</a>并搜索包括“HTTP”和“404”的標題。</li>
<li>打開“IIS 幫助”(可在 IIS 管理器 (inetmgr) 中訪問),然后搜索標題為“網站設定”、“常規管理任務”和“關于自定義錯誤訊息”的主題。</li>
</ul>
</TD></TR></TABLE></BODY></HTML>
請問是什么原因?
uj5u.com熱心網友回復:
'strURL = "ftp://www.kinglmm.com.cn/data/cod21.add" ’大檔案,正確下載========
不是ftp方式,是http方式,這里列的是除錯了ftp方式,說明一下,不要到時告訴我是因為這個是ftp方式能下
uj5u.com熱心網友回復:
個人感覺是http不“認識”我的二進制資料檔案格式,所以,下載不了我的2進制檔案格式是自編的隨機檔案格式,沒有采用ADO等資料庫結構,http識別不了,是不是這個原因?
uj5u.com熱心網友回復:
真的是http二進制識別的問題,已經解決轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/125036.html
標籤:網絡編程
下一篇:vb繪圖問題
