gpt4 book ai didi

c++ - 为 C++ WinHttp 设置 useUnsafeHeaderParsing

转载 作者:行者123 更新时间:2023-11-28 06:06:11 24 4
gpt4 key购买 nike

我正在尝试访问嵌入式设备上的网页。我在 Win32 上使用 WinHttp。尝试读取响应时出现错误

ERROR_WINHTTP_INVALID_SERVER_RESPONSE 12152 The server response cannot be parsed.

但是当我使用 WireShark 捕获时,我可以看到响应即将到来。所以为了测试我写了一个简单的 C# 程序。GetResponse 抛出异常

The server committed a protocol violation. Section=ResponseHeader Detail=CR must be followed by LF

所以根据下面的解决方案,我将 useUnsafeHeaderParsing 设置为 true。而且效果很好。

HttpWebRequestError: The server committed a protocol violation. Section=ResponseHeader Detail=CR must be followed by LF

因为我不能使用 C#,所以我需要找到一种方法来将 useUnsafeHeaderParsing 设置为 true for WinHttp with win32 C++

非常感谢

最佳答案

我简要地查看了 option flagsWinHttpSetOption并找到以下条目:

WINHTTP_OPTION_UNSAFE_HEADER_BLOCKING This option is reserved for internal use and should not be called.

由于该选项看起来与开/关开关有关,所以我会尝试执行以下操作:

BOOL bResult;
BOOL bOption = FALSE;

bResult = WinHttpSetOption(hInternet,
WINHTTP_OPTION_UNSAFE_HEADER_BLOCKING,
&bOption,
sizeof(bOption));
if (bResult == FALSE)
{
/* handle error with GetLastError() */
}

好吧,但正如 MSDN 所说,它保留供内部使用,因此该功能将来可能会发生变化(或者过去已经发生变化)。但这值得一试……祝你好运!

关于c++ - 为 C++ WinHttp 设置 useUnsafeHeaderParsing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32379771/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com