скачать XML-файл с URL-адреса с помощью Winhttp в Excel — CHARSET = UTF-8

Я пытаюсь автоматизировать загрузку XML-файла с URL-адреса. Даже после нескольких попыток я не мог придумать возможного решения этой проблемы и задаться вопросом, может ли кто-нибудь помочь мне, просто посмотрев на выходные данные и заголовок ответа, поскольку URL-адрес чувствителен.

Используя Excel, я делаю http-запрос через winhttp к URL-адресу и в response.body, который дает вывод, который я не могу понять, как читать и получать данные из него.

Заголовок запроса

   url = "https://***sensitive***.com/psc/FS91PRD/EMPLOYEE/ERP/q/?ICQryName=W_GL_INTL_JNLS&ICDummy=1186278907"
With http
.Open "POST", url, False
.setRequestHeader "Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8".setRequestHeader "Referer", "https://***sensitive***_GL_INTL_JNLS&ICDummy=1186278907".setRequestHeader "Content-Type", "application/x-www-form-urlencoded".setRequestHeader "Accept-Encoding", "gzip, deflate".setRequestHeader "Host", "***sensitive****"'.setRequestHeader "Content-Length", "360".setRequestHeader "Connection", "keep-alive".setRequestHeader "cache-Control", "no-cache".setRequestHeader "Cookie", cookie2
.send postData
.waitForResponse
End With

End If


Debug.Print http.getAllResponseHeaders

Заголовок ответа

Date: Sun, 24 May 2015 14:03:13 GMT
Content-Length: 10673
Content-Type: text/html; CHARSET=UTF-8
Content-Encoding: gzip
Expires: Thu, 01 Dec 1994 16:00:00 GMT
Set-Cookie: PS_TOKENEXPIRE=24_May_2015_14:03:13_GMT;
IgnorePortalRegisteredURL: 1
PortalRegisteredURL: https://***sensitive***.com/
UsesPortalRelativeURL: true
X-Powered-By: Servlet/2.5 JSP/2.1

Выходная строка

введите описание изображения здесь

0

Решение

Увидеть Content-Encoding: gzip? Вам нужно распаковать тело, используя gzip, или использовать клиентскую библиотеку, которая сделает это за вас.

Как примечание, если сервер отправил вам сжатый ответ, когда вы не отправляли Accept-Encoding: gzipчто-то не так с этим

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]