问题标签 [winhttp]

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 回答
6487 浏览

http - 如何防止 ServerXMLHTTP 自动跟随重定向(HTTP 303 请参阅其他响应)?

我正在使用 ServerXMLHTTP 来执行 HTTP POST。返回的响应是一个重定向(特别是 303 See Other)。ServerXMLHTTP 会自动遵循此重定向,但这会导致身份验证失败,因为未传播原始请求的 Authorization 标头。

有没有办法可以防止自动重定向(或者确保重新发送授权标头)?

0 投票
1 回答
992 浏览

excel - 为什么将内容声明为字符串会导致 WinHttp 无法在 Excel VBA 中发送 HTTP 内容?

我有一个 Excel VBA 宏,它等效于以下 HTTP POST,它可以成功运行:

以前,我已将 RequestBody 的类型显式设置为 String,如下所示:

这似乎工作正常,只是服务器没有收到请求内容。

在通过这两个版本进行调试时,RequestBody 上的手表将其类型描述为“Variant/String”并且内容是正确的。

为什么添加类型会导致此问题?

0 投票
1 回答
529 浏览

c++ - WinHttp 获取 404 文件未找到

我正在使用 WinHttp 抓取一个网页,结果页面是该站点的 404 文件未找到页面。我知道该代码可以正常工作,因为我已经在其他网站上对其进行了测试。有问题的页面是一个普通的 http 协议和 .html 文件。

我能做些什么?

0 投票
1 回答
10212 浏览

.net - .NET 中的 WinHttp.WinHttpRequest

是否有一个内置的 .NET 类可以替代或像 WinHttp.WinHttpRequest 一样工作?

谢谢!

0 投票
2 回答
2706 浏览

c++ - 使用什么 API 在现有 MFC 应用程序中添加 HTTP 客户端支持?

我最近接到了一项任务,将与Web 地图服务交互的能力添加到现有 MFC 应用程序中,我需要一个客户端 HTTP API。

根据我的研究,领先的候选人似乎是CAtlHttpClientWinHTTP。我很想知道是否有人有可以分享的经验或关于哪种方法更好的意见(或完全不同的建议)。

乍一看,CAtlHttpClient 似乎级别更高一些,更容易使用。然而,在我的研究中,似乎任何时候人们遇到无法用它做某事的问题时,答案都是“使用 WinHTTP”。

结果

我最终使用了 WinHTTP,因为 WinInet 显示对话框并且我们的应用程序可以通过 COM API 使用。我避免使用 Ultimate TCP/IP,因为我在一家大公司工作,并且获得批准在产品中使用的第三方软件是一场彻头彻尾的噩梦。

0 投票
3 回答
10659 浏览

c++ - 获取 winhttp.h 的推荐方法是什么?

我们的应用程序将 libcurl 用于 HTTP,并且我们想要访问 Internet Explorer 的代理设置。较早的 Stack Overflow 问题建议我们使用WinHttpGetIEProxyConfigForCurrentUserandWinHttpGetProxyForUrl

不幸的是,winhttp.h无论是 Visual C++ 2005 还是 Visual Studio 2008,我们的副本中似乎都没有包含标头。显然,可以下载更新的 Platform SDK 并将其安装在 Visual C++ 2005中,但这是一个非常痛苦的过程,而且它没有不一定适用于较新版本的 Visual Studio。

从 C++ 访问 WinHTTP 5.1 API 是否有良好的、受良好支持的方法?还是我们应该避免使用这些 API?

0 投票
3 回答
27227 浏览

c++ - 如何在 C/C++ 中使用 WinHTTP 下载文件?

我知道如何下载 html/txt 页面。例如 :

当我尝试下载图片时,我只得到文件的第一行并且没有错误消息。该问题似乎与 WinHttpOpenRequest 函数中的此参数(ppwszAcceptTypes)有关。

链接文本

0 投票
4 回答
19212 浏览

vba - 如何向可能重定向到登录页面的页面发出 POST 请求

我在 Outlook VBA 中使用宏通过 POST 将文件提交到 URL:

我的问题是接受请求的页面(在这种情况下是文件上传页面)受身份验证保护 - 上面的初始请求将返回登录页面而不是页面本身。

我试图检测登录页面是否出现,如果出现,则将用户名和密码作为表单变量发布(我希望这相当于人类在网络浏览器的页面中输入所述用户名和密码)。

所以步骤是:
* 请求 URL(包括文件和帖子)。
* 检查响应是否为登录页面。
* 如果是,那么在同一个http会话中,将用户名和密码提交给URL。
* 如果服务器现在处理原始帖子,很好,否则我可以再次发布。

代码如下所示:

但是当我这样做时, http.Responsetext 仍然只是登录页面(或再次?)。

知道我做错了什么吗?我的计划是否有效?

(这与试图解决这个问题有关)

0 投票
1 回答
585 浏览

internet-explorer - 如何以编程方式从 IE 获取响应信息?

我想知道当我们使用 Windows API 或使用 C++ 的某些接口访问 IE 中的任何页面时,有哪些不同的方法来获取响应代码信息?

我认为一些方法包括

1) 使用 BHO:但我认为这会提供 HTML 信息。我们可以在这里获取与 HTTP 相关的信息,例如响应代码吗?

2)使用异步可插拔协议:

还有其他方法吗?

我可以使用 WinInet 或 WinHttp 来获取这些信息吗?

0 投票
3 回答
3164 浏览

python - 使用 win32inet.WinHttpGetProxyForUrl 的正确方法是什么

我正在尝试使用已由 Win32com 的开发人员公开的 Microsoft WinHttp 库的功能。不幸的是,大多数库似乎都没有记录,也没有通过 win32com 库使用 win32inet 功能的正确方法的示例。

这是我到目前为止所拥有的:

如您所见,我所要做的就是使用 win32inet 功能找出哪个代理适合用于给定 URL,例如 foo.com。

你能帮我纠正最后一行的语法吗?MSN为被包装的函数提供了一些很好的文档,但 args 似乎并没有完美地映射到 python 库的那些。

此脚本的固定版本应:

  • 能够查找用于任何给定 URL 的代理。

  • 它应该总是做 Internet Explorer 会做的事情(即使用相同的代理)

  • 它应该在任何有效的 Windows XP 设置上都有效。这意味着它应该与明确配置的代理一起使用,并且根本没有代理。

  • 它只需要在带有 Python 2.4.4 的 Windows XP 32bit 上工作。它可以使用任何官方发布的win32com版本。

我在 Windows XP 上使用 Python2.4.4 和 Win32Com。

更新0:

或者......你能给我一个 cTypes 的替代实现吗?只要我能成功,我就很高兴!