http - 必应 API HTTP 请求超时
问题描述
我正在使用 Bing V7 API 并为此端点发送 HTTP 请求:
https://api.cognitive.microsoft.com/bing/v7.0/search
当我定义我的 HttpClient 时,我需要选择正确的超时值。缩短超时时间,会让我失去服务器的一些答案。超时时间太长,会让我等待,即使服务器不在那里。
我查看了 Bing文档并没有找到正确的值。
此调用的正确 HTTP 请求超时是多少?
解决方案
此调用的正确 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
提前终止。
推荐阅读
- mips - 我一直得到 0 作为我的 mips 代码的答案,我应该在其中找到两个数字的 gcd
- r - 在 Shiny 复选框列中也允许所有/无复选框时预选复选框
- python - 如何使用 dhooks 查找频道中发送的最新消息
- swift - 在 UITableView 内的 UICollectionView 内设置数组数组并返回正确数量的项目?
- litedb - LiteDB 是否可以与 dotnet Core 5.0 一起使用?
- c++ - 安装过程中的OpenCV问题,构建QT源。QtProcessConfigureArgs 是什么?
- elixir - 如何处理来自另一个进程的消息,以便它们在 Elixir Phoenix 通道上发送
- python - 在 Xcode 中运行 kivy 文件时加载 gif 时出错
- git - 即使在删除 .git 文件夹后,如何修复 GitHub 上文件夹事物上的白色箭头?
- python - Pandas unique() 只返回科学记数法