|
|
#1 |
|
Участник
|
Доброго времени суток. Подскажите пожалуйста каким automation лучше воспользоваться? Суть проблемы в том что нужно получать данные по запросу на определенный адрес. Данные генерируются просто текстом без всяких тегов. Пробывал работать XML automation - данные грузяться, но как добраться до данных в виде текста без узлов?
|
|
|
|
|
#2 |
|
Участник
|
если через xmlhttp, то нужно XMLHTTP.responseXML преобразовать в поток хотя бы
у меня проще задача стояла, нужно было сохранить даже если это не xml, нашел на vb код и оформил в библиотеку Код: Public Function SaveWrongFile(CurrXmlHttp As XMLHTTP40, FileName As String, ByRef Errorno As Long, ByRef Errortext As String) As Boolean
Dim vFF As Long, oResp() As Byte
Errorno = 0
Errortext = ""
oResp = CurrXmlHttp.responseBody
'Create local file and save results to it
vFF = FreeFile
On Error GoTo Err
Open FileName For Binary As #vFF
Put #vFF, , oResp
Close #vFF
SaveWrongFile = True
Exit Function
Err:
SaveWrongFile = False
Errorno = Err.Number
Errortext = Left(Err.Description, 250)
End Function |
|
|
|
|
#3 |
|
Участник
|
Не обязательно через XML и данные точно не в этом формате. Просто получить данные с сайта запросом. Данные формируются в виде текста. Потом этот текст парсить и сохранять в таблицу.
Пытался сделать так: CREATE(XMLHTTP); XMLHTTP.open('Get',url); tempstr:=XMLHTTP.responseText; Stream1:=XMLHTTP.responseStream; CLEAR(XMLHTTP); выводит ошибку что Данные для завершения этой операции еще не доступны. если написать XMLHTTP.open('Get',url,0); то "Неизвестная ошибка" |
|
|
|
|
#4 |
|
Участник
|
Вы забыли вызвать команду send.
Код: IF NOT ISCLEAR(XMLHTTP) THEN
CLEAR(XMLHTTP);
CREATE(XMLHTTP);
XMLHTTP.open('GET', url , FALSE); // последний параметр отвечает за синхронный или асинхронный режим.
XMLHTTP.send();
IF XMLHTTP.status<>200 THEN
BEGIN
ERROR(STRSUBSTNO('Получение файла %1. '+
'Ошибка HTTP %2: %3', url ,XMLHTTP.status,
COPYSTR(XMLHTTP.statusText,1,230)))
END; |
|
|
|
|
#5 |
|
Участник
|
Огромное спасибо! Получилось считывать, правда теперь с кодировкой проблемы
|
|
|