php - Bing 搜索 API 演示 key 有任何限制吗?

标签 php azure api bing-search

Bing Search API(图像)演示 key 有任何限制吗?在测试页面( https://azure.microsoft.com/ru-ru/services/cognitive-services/bing-image-search-api/ )上,搜索短语产生大量结果,但在我的脚本中根本没有结果。这是脚本本身:

function getImages($query) {
    $query = str_replace(' ', '+', $query);
    $url = 'https://api.cognitive.microsoft.com/bing/v7.0/images/search?q=' . $query . '&safesearch=strict';
    $curl = curl_init();

    curl_setopt($curl, CURLOPT_URL, $url); 
    curl_setopt($curl, CURLOPT_TIMEOUT, '1'); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_HTTPHEADER, array(
        'Content-Type: multipart/form-data',
        'Ocp-Apim-Subscription-Key: KEY'
    ));

    $result = curl_exec($curl);
    $result = json_decode($result, true);

    return $result['value'];
}

最佳答案

原因:

CURLOPT_TIMEOUT 的值太短。

请将CURLOPT_TIMEOUT的值修改为>=5,然后继续测试。

在postman中,样本请求需要1.074s。我更改了 CURLOPT_TIMEOUT 的值。它对我有用。

enter image description here

代码:

<?php
function getImages($query) {
    $query = str_replace(' ', '+', $query);
    $url = 'https://api.cognitive.microsoft.com/bing/v7.0/images/search?q=' . $query . '&safesearch=strict';
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url); 
    curl_setopt($curl, CURLOPT_TIMEOUT, '5'); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_HTTPHEADER, array(
        'Content-Type: multipart/form-data',
        'Ocp-Apim-Subscription-Key: ********'
    ));
    $result = curl_exec($curl);
    $result = json_decode($result, true);
    return $result['value'];
}
$result=getImages("cats");
print_r($result);
?>

在线运行。

打开the site to test code online 。粘贴代码并运行它。

然后你就可以在postman和online之间查看结果了。

enter image description here

关于php - Bing 搜索 API 演示 key 有任何限制吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63231283/

相关文章:

php - 在 xcrud 中插入一条记录后重新加载整个页面

azure - redis是如何工作来帮助window azure中的In session持久化的

azure - 删除由语义日志记录创建的旧 Azure 表存储日志条目

iphone - 适用于 iPhone 的 Deviantart API 或 SDK?

php - 为什么使用 SendGrid(和其他服务)

php - mysql密码是什么

php - 在 Laravel 中捕获并保存元素,而不是通过 PrimaryKey

适用于所有 API 级别的 Android 剪贴板代码

javascript - Ajax 表单发布不起作用 - 似乎从未提交

azure - Get-AzureAutomationConnection 与 Get-AzureRMAutomationConnection 之间的区别?