Получение HTML с удалённого сервера

Программирование на Active Server Pages и VBScript.
OldRunaways
Новичок
Новичок
Аватара пользователя
 
Сообщения: 44
Зарегистрирован: 10.07.2004 (Сб) 17:13

Получение HTML с удалённого сервера

Сообщение OldRunaways » 10.07.2004 (Сб) 17:19

Собственно говоря - вопрос:
Есть ASP-веб сервер которому переодически требуется запрашивать различные ресурсы по HTTP с других Веб-серверов - как это реализаваь?

В VB всё просто - Winsock или API (URLDownloadToFile, к примеру), а вот как на VBS (серверном) ?

OldRunaways
Новичок
Новичок
Аватара пользователя
 
Сообщения: 44
Зарегистрирован: 10.07.2004 (Сб) 17:13

Вот...

Сообщение OldRunaways » 10.07.2004 (Сб) 18:05

Нде... однако не очень активно :)
Вот - чуть поковырялся:

Dim strData
Set sckClient = CreateObjec ("MSWinsock.Winsock")

sckClient.RemoteHost = "www.ya.ru"
sckClient.RemotePort = 80

If sckClient.State <> sckConnected Then
sckClient.Close
sckClient.Connect
End If


'Тут как то нужно Сабж, но как ??? ".Send(Get)Data" выдают - "Wrong protocol or connection..."
'--------------------------------------------------------------------------
'sckClient.SendData ("GET / HTTP/1.1" & vbCrLf & vbCrLf)
'sckClient.GetData strData
'--------------------------------------------------------------------------

sckClient.Close
Set sckClient = Nothing

Response.Write(strData)

OldRunaways
Новичок
Новичок
Аватара пользователя
 
Сообщения: 44
Зарегистрирован: 10.07.2004 (Сб) 17:13

Поиски продолжаются...

Сообщение OldRunaways » 11.07.2004 (Вс) 12:45

Ау. Народ - хватит "спать" ;-)
Я знаю - вы знаете. Ну подскажите :) ...а пока все молчат, я продолжаю изобретать велосипед:

Написал DLL-ку:

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

Вызываю из программы:

dim Result
Set GetMeURL = CreateObject("DownL.MeURL")
Result = GetMeURL.DownloadFile ("http://www.ya.ru", "c:\ya.txt")
Response.Write(Result)
Set MeURL = Nothing

...результат выполнения - "True", а файл не сохраняется (причём dllHost - действительно запрашивает данную страницу и, судя по всему её получает)

OldRunaways
Новичок
Новичок
Аватара пользователя
 
Сообщения: 44
Зарегистрирован: 10.07.2004 (Сб) 17:13

Сообщение OldRunaways » 15.07.2004 (Чт) 13:04

Ну, так не интересно. :( Всё приходится делать самому :(
Вот (может кому пригодится):

<%
Set oHTTP = CreateObject("MSXML2.XMLHTTP")
oHTTP.Open "GET","http://www.rambler.ru",False
oHTTP.Send

Set oRS = CreateObject("ADODB.Recordset")
oRS.Fields.Append "ru",200,100000
oRS.Open
oRS.AddNew
oRS(0).AppendChunk oHTTP.ResponseBody

Response.Write oRS(0)

Set oRS = Nothing
Set oHTTP = Nothing
%>

Можно, также, использовать - InetCtls.Inet или InetCtls.Inet.1, но они ставятся только вместе MSVS (c++).

P.S. Единственный минус в том, что ни один из вышеперечисленных компонентов не "справляется" со страницей на которой стоит редирект на другую страницу. Ну и, очень интересная картина наблюдается если запрашиваемый ресурс недоступен. =(

OldRunaways
Новичок
Новичок
Аватара пользователя
 
Сообщения: 44
Зарегистрирован: 10.07.2004 (Сб) 17:13

Всем спасибо

Сообщение OldRunaways » 15.07.2004 (Чт) 14:28

Что же мои дорогие "сонные" друзья :) После долгих поисков был найден приличный компонентик для моих целей:

http://msdn.microsoft.com/library/defau ... meouts.asp

...который грамотно справляется с редиректами, позволяет устанавливать таймауты и идёт в стандартной поставке IE 5.1. Всем спасибо за внимания. Я верю - пусть вы и не ответили на мои вопросы, но, зато, мысленно вы были со мной.

Удачи.

dezruptor
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 05.07.2004 (Пн) 12:01

Сообщение dezruptor » 05.08.2004 (Чт) 15:40

Когда-то для этих целей пользовался компонентой ASPTear, кажется. А форум действительно мертвый :)


Вернуться в ASP и VBScript

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

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

    TopList