2015-05-24 3 views
0

Я пытаюсь автоматизировать загрузку xml-файла с URL-адреса. Даже после нескольких попыток я не мог подумать о возможном решении этого вопроса и задаться вопросом, может ли кто-нибудь помочь мне, просто взглянув на заголовок вывода и ответа, который является чувствительным.загрузить xml-файл с url using winhttp в excel - CHARSET = UTF-8

Использование 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 

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

enter image description here

ответ

3

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

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

+0

Благодарю вас. Это сработало!!! Я удалил '.setRequestHeader« Accept-Encoding »,« gzip, deflate »и вместо этого добавил« Content-Encoding: gzip » – Santosh