在 excel - CHARSET=UTF-8 中使用 winhttp 从 url 下载 xml 文件
download xml file from url using winhttp in excel - CHARSET=UTF-8
我正在尝试自动从 url 下载 xml 文件。即使经过多次尝试,我也想不出可能的解决方案,想知道是否有人可以通过查看输出和响应来帮助我 header,url 很敏感。
使用 excel 我正在通过 winhttp 向 url 发出 http 请求,在 response.body 中它给出了我无法弄清楚如何阅读和从中获取数据。
请求header
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
响应header
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
输出字符串
看到Content-Encoding: gzip
了吗?您需要使用 gzip 解压缩正文,或使用将为您执行此操作的客户端库。
附带说明一下,如果服务器在您未发送 Accept-Encoding: gzip
时向您发送了 gzip 压缩响应,则说明有问题。
我正在尝试自动从 url 下载 xml 文件。即使经过多次尝试,我也想不出可能的解决方案,想知道是否有人可以通过查看输出和响应来帮助我 header,url 很敏感。
使用 excel 我正在通过 winhttp 向 url 发出 http 请求,在 response.body 中它给出了我无法弄清楚如何阅读和从中获取数据。
请求header
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
响应header
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
输出字符串
看到Content-Encoding: gzip
了吗?您需要使用 gzip 解压缩正文,或使用将为您执行此操作的客户端库。
附带说明一下,如果服务器在您未发送 Accept-Encoding: gzip
时向您发送了 gzip 压缩响应,则说明有问题。