我正在使用 Azure 认知服务,更准确地说是“bing 图像搜索服务”。 我发送请求以获取与特定关键字相关的图像。
为此,我向正确的 Azure 端点发出 HTTP REST 请求:
'https://api.cognitive.microsoft.com/bing/v7.0/images/search?q=MYKEYWORD '
它适用于大量请求和结果。
但是,在服务的 json 响应中的某些图像中,“contentUrl”字段为我提供了指向托管图像的网站的损坏链接(例如,在某些不同的 WordPress 网站上为 404 或 403)。
因此,我的程序尝试通过“contentUrl”链接下载图像时崩溃了(或者必须至少抛出一个异常)。
我猜这是因为网站发生了变化(通过删除他们托管的图像)并且 bing 没有更新其数据库(或者爬虫没有时间这样做)。
因此我不知道该怎么办:'(
有什么帮助/建议吗?
最佳答案
是的,你是对的,contentUrl 可能会被删除过时的缓存。
By default, Bing returns cached content, if available. To prevent Bing from returning cached content, set the Pragma header to no-cache (for example, Pragma: no-cache).
您可以检查此文档中的 Pragma
header :Headers .
关于azure - Bing 图像搜索 API(认知)返回损坏的链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62120836/