首页 > 解决方案 > 必应 API HTTP 请求超时

问题描述

我正在使用 Bing V7 API 并为此端点发送 HTTP 请求:

https://api.cognitive.microsoft.com/bing/v7.0/search

当我定义我的 HttpClient 时,我需要选择正确的超时值。缩短超时时间,会让我失去服务器的一些答案。超时时间太长,会让我等待,即使服务器不在那里。

我查看了 Bing文档并没有找到正确的值。

此调用的正确 HTTP 请求超时是多少?

标签: httpbingbing-api

解决方案


此调用的正确 HTTP 请求超时是多少?我正在使用 Bing V7 API 并为此端点发送 HTTP 请求:

Bing 通过 HTTP 端点提供他们的 API。在我看来,这与 API 本身没有任何关系,因为 HTTP 只是这种情况下的传输。HTTP 请求上下文通常由例如处理。反向代理,例如 NGINX(或此处可能是 MS IIS)。因此 API 文档中没有文档。

当我定义我的 HttpClient 时,我需要选择正确的超时值。缩短超时时间,会让我失去服务器的一些答案。超时时间太长,会让我等待,即使服务器不在那里。

您的超时值HttpClient只是为了最终从某种blocking情况中恢复过来。这意味着您的程序不会无限期地阻塞,而是会在某个时候终止手头的 HTTP 操作。HttpClient如果您进入例如,这将很有用。网络分裂情况,死锁或类似情况,永远不会有回复。

45 到 60 秒之间的超时值就足够了。

超时时间太长,会让我等待,即使服务器不在那里。

我会将HttpClient超时值保持在固定值,例如。60 秒,并让第二个“主管”线程进行一些更动态的“烟雾测试”,以检查连接是否正常或是否存在其他问题,此时您可以HttpClient提前终止。


推荐阅读