gpt4 book ai didi

C# HTTP Web 请求一直超时

转载 作者:可可西里 更新时间:2023-11-01 08:33:06 30 4
gpt4 key购买 nike

我正在向我可以正常访问的可用站点发出 Http Web 请求,但 HTTP Web 请求总是超时。有什么理由可以说明这段代码允许它在不应该超时的情况下超时吗?

我已经尝试提高超时设置,但它仍然继续超时。

    Uri CameraUrl = new Uri("http://" + cfg_cameraIps[i]);
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(CameraUrl);
myRequest.Timeout = 5000;

myRequest.Method = "HEAD";

try
{
HttpWebResponse webresponse;
webresponse = (HttpWebResponse)myRequest.GetResponse();

if (webresponse.StatusCode.ToString() == "OK")
{
continue;
}

最佳答案

您没有关闭您的网络响应 - 如果您发现前几个请求有效,但之后的请求无效,那就是问题所在。它试图重用与服务器的现有连接,但它不能,因为您尚未关闭响应。

将您的代码更改为:

using (HttpWebResponse webresponse = (HttpWebResponse) myRequest.GetResponse())
{
if (webresponse.StatusCode == HttpStatusCode.OK)
{
continue;
}
...
}

看看是否有帮助。

如果它在对服务器的第一个 请求上失败,那就是不同的东西。在这种情况下,使用 Wireshark查看网络级别的情况。

请注意,在上面的代码中,我还删除了字符串转换,以便直接比较状态代码。

关于C# HTTP Web 请求一直超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1994417/

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