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
的值。它对我有用。
代码:
<?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之间查看结果了。
关于php - Bing 搜索 API 演示 key 有任何限制吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63231283/