Winhttp .body.innerhml не так. Responsetext - PullRequest
0 голосов
/ 15 января 2020

Я использую vba и могу черпать из Интернета, получать данные, чистить в Access или Excel и т. Д. Я удалил просто много страниц в intr anet сети, используя winhttp. Отправить получить ответный текст и корыто серфинга. Body.inner html. Теперь на одной-единственной странице я могу взять все содержимое страницы в файле .TXT или. HTML, но не могу получить Grom. Body.innwr html ... Видно, что оно усечено или не готово. Любые идеи? Спасибо за все ».

ОБНОВЛЕНИЕ: Я ПОПРОБУЮ ВСТАВИТЬ КОД, ПОЛУЧЕННЫЙ ОТ RESPONSETEXT. СТОЛ <table width="100%" class="base" summary="La tabella riporta i dati del documento">

image

Ответы [ 2 ]

0 голосов
/ 16 января 2020

я не знаю почему, но я решил с этим

 Dim fs As Object, a As Object, s As String
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("e:\test.txt", True)
Dim x As String
a.WriteLine Replace(Replace(Replace(Http.responseText, ",", ""), vbLf, ""), vbCr, "")
Set a = Nothing
Set fs = Nothing
Open "e:\test.txt" For Input As #1
    Input #1, x
    oHTML.body.innerHTML = x
Close #1

Вероятно, это будет проблема кодирования o отформатированных. Мне пришлось создать файл и поместить в ответный текст как замененный ... с X = replace (бла-бла-бла) и o html .body.innerhtml = x проблема не решена. если у кого-то есть идея, то ...

0 голосов
/ 15 января 2020

Вероятно, это усечено, потому что ответ с сайта возвращается в чанках.

Взгляните на этот другой вопрос . Это может помочь вам понять концепцию. В современных веб-браузерах или некоторых других языках программирования кодирование передачи по частям обрабатывается на более низком уровне за объектами и оболочками, но это может быть winhttp или этот конкретный API-интерфейс не имеет этого, поэтому вам нужно будет разместить его в собственном коде.

...