gpt4 book ai didi

c# - 服务器违反了协议(protocol)。 Section=ResponseStatusLine(尝试了很多解决方案都没有用)

转载 作者:可可西里 更新时间:2023-11-01 16:46:46 24 4
gpt4 key购买 nike

我知道这篇文章可能看起来像是重复的,但我已经尝试了互联网上的所有解决方法,但我仍然不知道如何修复它。

我正在尝试从具有登录系统的 WEB 服务获取 xml 文件。我已经成功地登录并获取了 xml 文件,但是,我注意到如果只有 Fiddler4 打开,我就可以做到这一点。如果我关闭 fiddler ,它只会说“服务器违反了协议(protocol)。Section=ResponseStatusLine”。

Fiddler 的响应没有 header 和此 StatusMessage:

This buggy server did not return headers.

我已经尝试将其添加到我的 app.config

<system.net>
<settings>
<httpWebRequest useUnsafeHeaderParsing ="true"/>
</settings>

根本没用。

尝试添加这些:

request.ServicePoint.Expect100Continue = false;
ServicePointManager.Expect100Continue = false;
ServicePointManager. MaxServicePointIdleTime = 2000;

尝试了这个并在我的请求之前调用了该方法。 link to solution

错误响应的 Fiddler 日志输出:

Fiddler.Network.ProtocolViolation - [#7] The Server did not return properly-formatted HTTP Headers. Maybe missing altogether (e.g. HTTP/0.9), maybe only \r\r instead of \r\n\r\n?

fiddler 到底在做什么?我怎样才能做到这一点?我已经尝试解决这个问题 2 天了,但似乎没有任何效果。我的整个项目已准备好发布,但这个烦人的问题毁了它。

谢谢。

最佳答案

我修好了!!

正如我在我的帖子中所说,当 fiddler 在我的请求上时,我的请求正在工作。所以,我想我需要在不使用 fiddler 的时候使用它(因为,取决于用户不友好的外部软件),我想出了一个主意。

我通过将可移植 fiddler (fiddler.exe 和 3 个主要 dll)嵌入到我的项目中解决了我的问题,然后在新的 Windows 窗体上调用它并隐藏它而不处理它。因此,fiddler 将在后台运行并为我修复损坏的 http 请求。当我的应用程序关闭 Application.ApplicationExit 事件时,我杀死了 Fiddler。结论是,我现在不依赖 fiddler,而是将其用作资源。

现在一切正常。

关于c# - 服务器违反了协议(protocol)。 Section=ResponseStatusLine(尝试了很多解决方案都没有用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28006026/

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