Bing 在 PHP 中搜索 API - 在 json 响应中缺少网页 属性
Bing Search API in PHP - missing webPages property in json response
我正在尝试根据 api documentation
获取搜索结果
这是我在PHP
中写的
require_once 'HTTP/Request2.php';
$api_key = 'my_bing_search_api_key';
$url_encoded_keyword = urlencode('animation concepts and tutorials');
$request = new \Http_Request2('https://api.cognitive.microsoft.com/bing/v5.0/search');
$headers = [
'Ocp-Apim-Subscription-Key' => $api_key
];
$request->setHeader($headers);
$url = $request->getUrl();
$parameters = [
'q' => $url_encoded_keyword,
'count' => '10',
'offset' => '0',
'safesearch' => 'Strict',
);
$url->setQueryVariables($parameters);
$request->setMethod(\HTTP_Request2::METHOD_GET);
$request->setBody("{body}");
$search_result = null;
try {
$response = $request->send();
$search_results = json_decode($response->getBody(), true);
return $search_results;
} catch (HttpException $ex) {
return [];
}
我收到回复,但没有网页 属性。它只有 _type、rankingResponse、relatedSearches 和 videos 属性。
我在 api console 中测试了相同的请求。我在 json 响应中得到网页 属性。
有什么想法可能是我无法在 PHP 中获取网页但可以在 Microsoft 的 api 测试站点上运行的原因吗?
从代码片段中,您将关键字编码后传递给 Bing 网络搜索 API。
$url_encoded_keyword = urlencode('animation concepts and tutorials');
$parameters = [
'q' => $url_encoded_keyword,
'count' => '10',
'offset' => '0',
'safesearch' => 'Strict',
);
尝试不对关键字进行编码。根据他们的 API testing console,对同一关键字的 HTTP 请求将显示为
https://api.cognitive.microsoft.com/bing/v5.0/search?q=animation
concepts and tutorials&count=10&offset=0&mkt=en-us&safesearch=Moderate
我正在尝试根据 api documentation
获取搜索结果这是我在PHP
中写的 require_once 'HTTP/Request2.php';
$api_key = 'my_bing_search_api_key';
$url_encoded_keyword = urlencode('animation concepts and tutorials');
$request = new \Http_Request2('https://api.cognitive.microsoft.com/bing/v5.0/search');
$headers = [
'Ocp-Apim-Subscription-Key' => $api_key
];
$request->setHeader($headers);
$url = $request->getUrl();
$parameters = [
'q' => $url_encoded_keyword,
'count' => '10',
'offset' => '0',
'safesearch' => 'Strict',
);
$url->setQueryVariables($parameters);
$request->setMethod(\HTTP_Request2::METHOD_GET);
$request->setBody("{body}");
$search_result = null;
try {
$response = $request->send();
$search_results = json_decode($response->getBody(), true);
return $search_results;
} catch (HttpException $ex) {
return [];
}
我收到回复,但没有网页 属性。它只有 _type、rankingResponse、relatedSearches 和 videos 属性。 我在 api console 中测试了相同的请求。我在 json 响应中得到网页 属性。
有什么想法可能是我无法在 PHP 中获取网页但可以在 Microsoft 的 api 测试站点上运行的原因吗?
从代码片段中,您将关键字编码后传递给 Bing 网络搜索 API。
$url_encoded_keyword = urlencode('animation concepts and tutorials');
$parameters = [
'q' => $url_encoded_keyword,
'count' => '10',
'offset' => '0',
'safesearch' => 'Strict',
);
尝试不对关键字进行编码。根据他们的 API testing console,对同一关键字的 HTTP 请求将显示为
https://api.cognitive.microsoft.com/bing/v5.0/search?q=animation concepts and tutorials&count=10&offset=0&mkt=en-us&safesearch=Moderate