问题标签 [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.
c++ - 调用 WinHttpCreateUrl 并设置 ICU_REJECT_USERPWD 标志在 Windows 7 中运行,但在 Windows XP 中运行(使用 Virtual PC)
运行我在 Windows XP 中开发的应用程序(在 Windows 7 的 Virtual PC 下)时,我遇到了意外错误。我在 Windows 7 64 位专业版中使用 Visual Studio 2010 编译它。
我已将问题归结为在 XP 下未正确创建 URL。以下是我为展示这一点而拼凑的一个小型试验台——
我希望它将len设置为正确的大小并给出错误代码0x7A以指示ERROR_INSUFFICIENT_BUFFER。这就是在 Windows 7 下发生的情况。我在 Windows XP 下实际得到的是0x57的错误代码,表示ERROR_INVALID_PARAMETER。
如果我将标志的值设置为零,那么它在两个操作系统上都可以正常工作。我试图解决的是为什么ICU_REJECT_USERPWD导致它在 XP 下失败。
我意识到我不需要为这个例子设置那个标志,但这只是我为了显示问题而放在一起的一些测试代码。
非常感谢您对这个问题的任何帮助(或任何指出我做错了什么的人......)
c++ - 非管理员用户在本地主机上的 HttpAddUrl 失败
使用 Windows HTTP API,我在 localhost 上运行 HTTP 文件服务器。
这涉及调用HttpAddUrl(hRequestQueue, L"http://localhost:80/", NULL)
.
ERROR_ACCESS_DENIED
除非用户以管理员身份运行应用程序,否则此操作将失败。对于没有管理员权限的用户,我需要此功能。(无论如何,运行本地主机服务器的用户有什么问题?这只是为了用户自己。)
我找到了一个针对 Vista 和 XP 的修补程序,似乎旨在解决这个问题,但对于 Windows 7 没有任何内容。文章暗示它已在 Vista SP1 中修复,我有 Windows 7 SP1,但它仍然是一个问题 - 修复没有成功吗到 Windows 7?
我还能做些什么来让服务器为非管理员运行?
delphi - WinHttp Delphi 包装器
请告知 Delphi XE 中是否有 WinHTTP 包装器
按优先顺序:
- 开箱即用的德尔福装置
- 带有移植入口例程的第三方开源 pas 文件
- 一个 xxx_TLB.pas 包装器
解决方案:
由于评论不允许格式化代码,我将解决方案粘贴在问题中:
还有几个缺失的:
delphi - 使用 Delphi XE 将通过 WinHTTP 下载的文件保存到磁盘
对这个问题的回答显示了在 delphi 中通过类型库导入使用 WinHTTP 是多么容易。
我为 WinHTTP 导入了类型库,然后尝试使用该 api 编写文件下载辅助函数。这是我走了多远:
我似乎无法弄清楚如何将 IWinHttpRequest.ResponseStream(在 TLB 文件中声明为 OleVariant)作为 Stream 保存到磁盘。
摘自 WinHTTP_TLB.pas:
更新:我现在得到一个关于 ole 变体的运行时异常,在调用http.ResponseStream.CopyTo(...)
post - WinHttp Post 无法检索网站内容
调用 https 时会出现此问题,但调用 http 时可以正常工作。
我该如何解决这个问题?
完整的工作代码如下:
delphi - Delphi、Winhttp、Google 登录、Fusion Tables
这是我上一个问题的继续:
Delphi、WebBrowser、Google 登录、FusionTable
但是使用 WinHTTP 的测试也失败了,因为基于 TWebBrowser 的测试......
这是一个如你所愿的问题...... :-)
我有一张现在是 PUBLIC 的桌子,但是当我们购买非免费帐户时,它将更改为私人帐户。
我创建了一个简单的 WinHTTP 测试,但这也失败了。
我可以登录,我得到了“Auth”标签,但下一个“私人”请求返回 401 错误。
当我进行“选择”时,我得到了行。但是当我想查看表名时,出现 401 错误...
我不确定是什么导致了这个错误。
a. The free account don't have enough rights to access it privately
b. I set the header wrong
c. I set the csSource wrong (I set it "MyCompanyName-Test-1.0")
d. Other thing I don't know what...
Can anybody help me how to login and access the data successfully?
c++ - C++ NPAPI WinHttpConnect 失败
现在我知道问题hConnect
没有通过调试器成功初始化,我想知道为什么,谢谢
它的 javascript 代码调用者
它的 C++ 源代码
c - 从 WinHttp 获取请求的实际总标头大小
标题基本概括了所有内容; 从 WinHttp 获取服务器响应中标头的大小很容易,但我需要知道我的请求的总大小,包括 HTTP 版本、动词、URL 以及 API 可能添加的任何随机内容。我知道单个请求的总大小有 8k 的限制,但是提供 8k 的标头会导致错误。
我是否真的必须手动添加 HTTP 标准所需的所有内容才能获得总请求大小?似乎应该有一个功能。
delphi - MSXML / ServerXmlHttp POST Failing intermittently (Delphi)
I have some legacy Delphi code that POSTs XML to a secure web server using the MSXML component.
The code has been working fine for years. Recently, we made some changes that makes the XML file size a bit larger, but not by much. The XML size itself is still relatively small, eg, 100k or less.
We checked the server logs and the failure is an authentication error due to the fact that user/pass are sometimes not passed. This happens intermittently. The only thing that has changed is that the XML size has grown a bit.
I can verify this by incrementally growing an xml file until the POST fails. I can also verify by doing the reverse, (ie, taking a large file and incrementally reducing it until it POSTs successfully).
Here is some sample code below. In this case I load the xml from file. In the actual code we use streams, but I am certain this is not the issue.
Does anyone know why the authentication data would get lost on the way to the https server? I seem to recall something about MSXML having problems with negotiating authentication in certain cases, but I don't think it had to do with the size of the XML being Posted.
Thank you -
c++ - SSL 与 WinHTTP
我用 winhttp 创建了一个简单的 web 服务器,它只有一个客户端,一个网站。在我启用 SSL 之前它运行良好。我没有收到任何错误,一切似乎都正常,但网站在尝试连接时收到错误代码 104,而且我在服务器中看不到任何活动。该网站是由专业人员创建的,因此该错误很可能在我的代码中。由于我对 Web 编程一无所知,所以我用 C++ 创建了一个测试客户端来调试问题。如果没有 SSL,它可以连接到服务器。但是当我尝试设置客户端证书时,它失败了。所以现在我有两个问题。
这是服务器代码的相关部分:
当 pDefaultSslCtlIdentifier 为 NULL 时,文档没有说明会发生什么,但我想这意味着服务器接受任何受信任的证书。我试图设置我需要的那个,但是 HttpSetServiceConfiguration 调用失败了。
在客户端 WinHttpSetOption 失败,GetLastError() 返回 6。有时我在调试输出中看到访问冲突错误。报告的地址接近请求的值。客户端代码:
我用这个脚本创建了证书:
我不明白这些东西,但它应该创建适合 SSL 的证书。
如果有关于这个主题的好教程,那就太好了。到目前为止我发现的内容足以编写上面的代码。