我为了实现动态网站的静态发布,需要每隔一段时间就将某些jsp文件转换为html文
件,由于inet控件不稳定,所以决定用wininet.dll做,以下是主要代码:Const INTERNET_OPEN_TYPE_PRECONFIG = 0
Const INTERNET_FLAG_EXISTING_CONNECT = &H20000000 hInternetSession = InternetOpen(App.EXEName, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)
If hInternetSession > 0 Then
hUrl = InternetOpenUrl(hInternetSession, "http://www.aaa.com.cn/aaa.jsp", vbNullString, 0, INTERNET_FLAG_EXISTING_CONNECT, 0)
If hUrl > 0 Then
Buffer = Space(1024)
FileNum = FreeFile
Open "c:\aaa.html" For Binary Access Write As #FileNum
Do
ok = InternetReadFile(hUrl, Buffer, Len(Buffer), NumberOfBytesRead)
If NumberOfBytesRead = 0 Or Not ok Then Exit Do
'写文件
Put #FileNum, , Left(Buffer, NumberOfBytesRead)
Loop
Close FileNum
End If
End Ifhtml文件是能保存下来,但发现前面和后面多了一些乱七八糟的字符,和我直接在浏览其中打开jsp看到的源文件不一样啊,我研究了半天也不知道怎么回事,有谁知道是为什么吗?谢谢啊
件,由于inet控件不稳定,所以决定用wininet.dll做,以下是主要代码:Const INTERNET_OPEN_TYPE_PRECONFIG = 0
Const INTERNET_FLAG_EXISTING_CONNECT = &H20000000 hInternetSession = InternetOpen(App.EXEName, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)
If hInternetSession > 0 Then
hUrl = InternetOpenUrl(hInternetSession, "http://www.aaa.com.cn/aaa.jsp", vbNullString, 0, INTERNET_FLAG_EXISTING_CONNECT, 0)
If hUrl > 0 Then
Buffer = Space(1024)
FileNum = FreeFile
Open "c:\aaa.html" For Binary Access Write As #FileNum
Do
ok = InternetReadFile(hUrl, Buffer, Len(Buffer), NumberOfBytesRead)
If NumberOfBytesRead = 0 Or Not ok Then Exit Do
'写文件
Put #FileNum, , Left(Buffer, NumberOfBytesRead)
Loop
Close FileNum
End If
End Ifhtml文件是能保存下来,但发现前面和后面多了一些乱七八糟的字符,和我直接在浏览其中打开jsp看到的源文件不一样啊,我研究了半天也不知道怎么回事,有谁知道是为什么吗?谢谢啊
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Public Function DownloadFile(URL As String, LocalFilename As String) As Boolean
Dim lngRetVal As Long
lngRetVal = URLDownloadToFile(0, URL, LocalFilename, 0, 0)
If lngRetVal = 0 Then DownloadFile = True
End Function
Private Sub Form_Load()
DownloadFile "http:*.jsp", "c:\allapi.htm"
End Sub