问题标签 [winhttprequest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
200 浏览

xml - 在VB6中检索WinHttpReq.ResponseBody跳过热链接的页面数据的最佳方法

我正在尝试维护一个 Visual Basic 6 软件,该软件旨在帮助加快我工作部门的一些文本格式。我不是一个计算机工程师/科学家,但这个软件属于我的管辖范围,因为它是由我受雇取代的绅士编写的。

该工具旨在在短时间内格式化大量数据,以消除手动格式化。

似乎传递给程序用户指定的 URL 的 WinHttpRequest 大部分都在工作。然而,当调用 ResponseBody 属性时,编写的软件所期望的信息并没有被抓取。我不确定数据之前是如何托管在 URL 页面上的,但是当通过 Web 浏览器检查相关 URL 的页面源时,预期检索的数据是可见的,但似乎是热链接的从不同的 URL/位置进入。但是,当创建 WinHttpReq.ResponseBody 并将其转储到本地文件中时,会传递预期和需要的信息。

看起来它正在传递数据,因为数据是通过原始 URL 上的单独热链接引用的。我的问题是,检索在检查页面源时可见但在 ResponseBody 函数调用中未检索到的数据的最简单方法是什么。ResponseBody 调用似乎也将热链接 URL 丢弃到初始 HTTP 请求 URL 中,但我认为用于构建热链接的信息和 ID 存储在数据中。

这是一张图片,说明了我所看到的内容,希望能更好地展示我所指的内容。

Feed Body 比较浏览器与本地数据

软件中编写的解析功能会查找“nitf version =”标志,以了解何时找到要用于格式化的统计数据/表格。

我的问题是,是否有一种更简单、更优雅的解决方案可以一次将所有网页源数据拉下,在网络浏览器中可见?还是我必须提取响应正文,解析正文文本,使用变量构建 URL,传递更多单独的页面 URL 请求,存储该文本,解析该数据,然后将解析后的数据加载回原始正文数据?

我想尽可能少地改变书面软件。

0 投票
0 回答
1690 浏览

excel - WinHttpRequest 运行时错误 (-2147012867)

我在 4 台计算机上运行以下代码:
该代码使用 POST 向目标服务器发出简单的 HTTP 请求。

4 台计算机中有 2 台完美运行代码。
4 台计算机中有 2 台显示以下错误消息:

在此处输入图像描述

运行时错误:-2147012867

运行代码的计算机使用的是 Windows10 版本 10.0.14393
不运行代码的计算机使用的是 Windows7 版本 6.1.7601,Service Pack 1
此错误仅在我编辑以下文件后发生:

C:\Windows\System32\drivers\etc\hosts

我将以下信息添加到文件中以更改主机名“myURL.com”的 IP 地址:

149.56.23.106 myURL.com
149.56.23.106 www.myURL.com
在此处输入图像描述

有关如何调查或解决此问题的任何想法?

0 投票
1 回答
720 浏览

http - 异步 HTTP POST 请求,无需等待 Inno Setup 中的响应

我有一个 Inno Setup Installer,需要在安装过程中进行 API 调用。这会将一些数据发布到远程 API。

POST 调用是在 [Code] 部分中使用 Pascal 和WinHttpRequest对象执行的。API 是 ASP.Net WebAPI 2 (C#)。

我可以完全控制流程的所有部分,即 Inno Setup 脚本、代码部分和 WebAPI。

问题

我可以毫无问题地同步进行 POST 调用,但如果我在方法上设置异步标志true,则WinHttpRequest.Open().Send()方法似乎根本不会执行。

p>

我在 VisualStudio 调试器中检查了一个断点,并且端点永远不会被调用。

在这里和谷歌上搜索时,我只发现了各种异步获取响应的尝试,但我找不到这个问题的解决方案。我不需要响应,这是一种即发即弃的 API 调用。


简明问题

为什么 API 没有收到呼叫,我该如何解决这个问题?

谢谢。

0 投票
2 回答
25091 浏览

excel - VBA 中的 WinHttpRequest 仅在前面有浏览器调用时才有效

以下 URL 返回带有美元汇率的 XML:

我需要调用并提取(通过解析结果)从 Excel VBA 返回的速率。

在浏览器中手动调用后在 VBA 中调用时 - 它工作正常。但是,经过一定时间后,它不再从 VBA 中工作,除非先在浏览器中再次手动调用。相反,它会返回此字符串作为结果:

我用来调用的 VBA 是这样的:

编辑: 我使用 MSXML2 对象尝试了这个 - 完全相同的行为!仅在浏览器激活后有效。这是 XML 代码:

任何想法为什么这最初不能从 VBA 函数中工作?

0 投票
1 回答
842 浏览

vba - 从 URL 下载文件会引发状态代码 406

大家好,我有这个子我想从 URL 下载一个文件,但每次我运行它时都WinHttpReq.Status包含406.

0 投票
0 回答
600 浏览

c++11 - 在 C++ 中将 zip 文件从缓冲区下载到 zip 文件

我正在尝试用 C++ 从 Internet 下载文件。将下载的内容保存到 HInternet 实例中。

我还填充了 HInternet 实例的标头信息。那看起来像

现在我正在尝试将 642088_3855u.zip 文件复制到某个位置。

所以,我尝试了,

我没有收到任何错误,如果 zip 的实际大小为 72kb,但它创建的 zip 文件为 4kb,当我尝试打开 zip 文件时,我收到错误 Invalid zip file。

请注意:zip 文件也包含可执行文件。

任何我做错的建议。

谢谢,

0 投票
1 回答
1597 浏览

vba - VBA WinHttpRequest 5.1 响应文本不完整

目前我正在使用 WinHttpRequest 从 web 应用程序中提取数据。我设法成功地执行了各种任务,但是我偶然发现了奇怪的问题。.ResponseText 中缺少一些数据。我已经手动完成了任务,responsebody 是:

当我对 VBA 做同样的事情时,答案会更短:

就像我从响应中遗漏了一些深度。下面的代码我正在使用。

有谁知道问题是什么?即使我找到了类似的主题,也没有明确的答案。

0 投票
2 回答
2621 浏览

c# - 从 VBA 调用 Rest API - “与服务器的连接异常终止”

我正在尝试从 Excel VBA RESTfull API。我已经在 C# 中有一个工作版本:

需要将此代码移植到 VBA。我写:

当我运行 VBA 版本时,在 .Send 行出现错误“与服务器的连接异常终止”

由于它在 C# 中工作,它不可能是防火墙或服务器问题。我该怎么做才能让它工作?我搜索了类似的问题,但没有一个适用于我的情况。

0 投票
2 回答
2562 浏览

python - 如何使用 pywin32 / pypiwin32 发出 HTTP POST 请求?

背景

我已经使用 pypiwin32 成功地发出了一些 HTTP GET请求

然后从h.statusand获取响应状态和文本h.responseText

问题

pywin32(或者我应该说pypiwin32)似乎没有官方文档,Microsoft WinHttpRequest 对象文档只有 C++ 示例。

问题

如何使用来自 pywin32 的 win32com.client 使用特定的有效负载和标头发出 HTTP POST 请求?假设我要添加的 HTTP 请求标头是

我要发布的有效负载是

0 投票
1 回答
3374 浏览

excel - 从 VBA 调用 TLS1.2

我无法从 Excel VBA 调用 RESTfull API,因为 API 使用 TLS1.2。显然,在 VBA 中无法设置使用 TLS1.2 的选项。我尝试设置 WINHTTP_OPTION_SECURE_PROTOCOLS 选项,但它被忽略了。

有谁知道可能的解决方案?最好是不涉及更改注册表的那个。