получить HTMLcod

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
VLADosik
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 12.08.2006 (Сб) 7:48
Откуда: Россия,Пенза

получить HTMLcod

Сообщение 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
Пользователь #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
Откуда: Ленинград

Re: получить HTMLcod

Сообщение Мамонт » 11.09.2006 (Пн) 0:06

VLADosik писал(а):но он сохраняет малую часть, точнее получает не весь хтмл код... как сделать чтоб он получал весь код?


Этот глючный инетконтрол некачает доканца! Лучше использовать winsock. Это факт! 8)
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 (Чт) 15:41

Диржы! :)
Вложения
dwl.rar
(2.07 Кб) Скачиваний: 151
alibek
Злой Человек

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 14.09.2006 (Чт) 16:01

Format, научись читать! :evil:
Изображение

Мамонт
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 479
Зарегистрирован: 21.02.2005 (Пн) 16:48
Откуда: Ленинград

Сообщение Мамонт » 14.09.2006 (Чт) 16:08

Ой! Чёрт! Сори! :oops:
alibek
Злой Человек

Мамонт
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 479
Зарегистрирован: 21.02.2005 (Пн) 16:48
Откуда: Ленинград

Сообщение Мамонт » 14.09.2006 (Чт) 16:09

Ну так тема то называется получить HTMLcod вот я и прочитал неправельно! Устал просто! :(
alibek
Злой Человек


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20

    TopList