Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
VLADosik
-
- Начинающий
-
-
- Сообщения: 18
- Зарегистрирован: 12.08.2006 (Сб) 7:48
- Откуда: Россия,Пенза
-
VLADosik » 08.09.2006 (Пт) 15:13
как можно получить хтмл код старницы!?
- Код: Выделить всё
Inet1.Execute "http://www.pnz.ru/", ""
Do While Inet1.StillExecuting
DoEvents
Loop
htmlcod = Inet1.GetChunk(0)
a = FreeFile
Open "c:\1.txt" For Append As d
Print #a, htmlcod
Close #a
Мне надо сохранить весь хтмл код в фале, но он сохраняет малую часть, точнее получает не весь хтмл код... как сделать чтоб он получал весь код? говорят лучше получать кусками... как ето сделать?
-
lister
-
- Постоялец
-
-
- Сообщения: 389
- Зарегистрирован: 15.01.2005 (Сб) 7:34
- Откуда: Страна оления
lister » 08.09.2006 (Пт) 16:21
1) Залезь в FAQ:
http://bbs.vbstreets.ru/viewtopic.php?t=7723
(C этого и надо начинать)
2) например, используй Winsock control
3) или wininet:
- Код: Выделить всё
Option Explicit
Private Const INTERNET_OPEN_TYPE_DIRECT As Long = 1
Private Const INTERNET_OPEN_TYPE_PRECONFIG As Long = 0
Private Const INTERNET_OPEN_TYPE_PROXY As Long = 3
Private Const INTERNET_FLAG_RELOAD As Long = &H80000000
Private Const scUserAgent = "VB Project"
Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" ( _
ByVal lpszAgent As String, _
ByVal dwAccessType As Long, _
ByVal lpszProxy As String, _
ByVal lpszProxyBypass As String, _
ByVal dwFlags As Long) As Long
Private Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" ( _
ByVal hInternet As Long, _
ByVal lpszUrl As String, _
ByVal lpszHeaders As String, _
ByVal dwHeadersLength As Long, _
ByVal dwFlags As Long, _
ByRef dwContext As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet.dll" ( _
ByRef hInternet As Long) As Boolean
Private Declare Function InternetReadFile Lib "wininet.dll" ( _
ByVal hFile As Long, _
ByVal sBuffer As String, _
ByVal dwNumberOfBytesToRead As Long, _
ByRef lpdwNumberOfBytesRead As Long) As Integer
Public Function OpenUrl(ByVal sUrl As String) As String
Dim hOpen As Long
Dim hOpenUrl As Long
Dim bDoLoop As Boolean
Dim bRetval As Boolean
Dim sReadBuffer As String * 2048
Dim lNumberOfBytesRead As Long
Dim sBuffer As String
hOpen = InternetOpen( _
scUserAgent, _
INTERNET_OPEN_TYPE_PRECONFIG, _
vbNullString, _
vbNullString, _
0 _
)
hOpenUrl = InternetOpenUrl( _
hOpen, _
sUrl, _
vbNullString, _
0, _
INTERNET_FLAG_RELOAD, _
0 _
)
bDoLoop = True
While bDoLoop
sReadBuffer = vbNullString
DoEvents
bRetval = InternetReadFile( _
hOpenUrl, _
sReadBuffer, _
Len(sReadBuffer), _
lNumberOfBytesRead _
)
sBuffer = sBuffer & Left$(sReadBuffer, lNumberOfBytesRead)
If Not CBool(lNumberOfBytesRead) Then bDoLoop = False
Wend
If hOpenUrl <> 0 Then InternetCloseHandle (hOpenUrl)
If hOpen <> 0 Then InternetCloseHandle (hOpen)
OpenUrl = sBuffer
End Function
-
tyomitch
-
- Пользователь #1352
-
-
- Сообщения: 12822
- Зарегистрирован: 20.10.2002 (Вс) 17:02
- Откуда: חיפה
tyomitch » 08.09.2006 (Пт) 17:28
А ещё есть качалка в кирпичах.
-
Raz0r
-
- Начинающий
-
-
- Сообщения: 1
- Зарегистрирован: 09.09.2006 (Сб) 22:51
Raz0r » 09.09.2006 (Сб) 23:04
А еще есть Marby HTTPX Control. Просто пишешь:
HttpX1.Get "127.0.0.1" и получаешь исходный код страницы
-
Мамонт
-
- Постоялец
-
-
- Сообщения: 479
- Зарегистрирован: 21.02.2005 (Пн) 16:48
- Откуда: Ленинград
-
Мамонт » 11.09.2006 (Пн) 0:06
VLADosik писал(а):но он сохраняет малую часть, точнее получает не весь хтмл код... как сделать чтоб он получал весь код?
Этот глючный инетконтрол некачает доканца! Лучше использовать winsock. Это факт!
alibek
Злой Человек
-
Мамонт
-
- Постоялец
-
-
- Сообщения: 479
- Зарегистрирован: 21.02.2005 (Пн) 16:48
- Откуда: Ленинград
-
Мамонт » 11.09.2006 (Пн) 0:08
Raz0r
А непроще ещё 2 строки добавить и не грузиться со всякими контролами?
alibek
Злой Человек
-
Debugger
-
- Продвинутый гуру
-
-
- Сообщения: 1667
- Зарегистрирован: 17.06.2006 (Сб) 15:11
-
Debugger » 12.09.2006 (Вт) 18:09
А можно исходник ЗАЛИТИЯ файла через винсок?
-
Мамонт
-
- Постоялец
-
-
- Сообщения: 479
- Зарегистрирован: 21.02.2005 (Пн) 16:48
- Откуда: Ленинград
-
Мамонт » 14.09.2006 (Чт) 16:08
Ой! Чёрт! Сори!
alibek
Злой Человек
-
Мамонт
-
- Постоялец
-
-
- Сообщения: 479
- Зарегистрирован: 21.02.2005 (Пн) 16:48
- Откуда: Ленинград
-
Мамонт » 14.09.2006 (Чт) 16:09
Ну так тема то называется
получить HTMLcod вот я и прочитал неправельно! Устал просто!
alibek
Злой Человек
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20