新服务的文档可能会变得有些有趣-
特别是在MSDN中。最清晰的解释我能找到的是在迁移指南从这个Bing搜索API页面。最重要的是,迁移指南最后提供了一个很好的PHP简单示例。
编辑:好的,迁移指南是一个起点,但这不是最好的例子。这是两种对我有用的方法(没有代理,防火墙等干扰):
使用file_get_contents
注意:需要启用“
allow_url_fopen
”才能使其正常工作。您可以使用ini_set(或更改php.ini等)。
if (isset($_POST['submit'])) { // Replace this value with your account key $accountKey = 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA='; $ServiceRootURL = 'https://api.datamarket.azure.com/Bing/Search/'; $WebSearchURL = $ServiceRootURL . 'Web?$format=json&Query='; $cred = sprintf('Authorization: Basic %s', base64_enpre($accountKey . ":" . $accountKey) ); $context = stream_context_create(array( 'http' => array( 'header' => $cred ) )); $request = $WebSearchURL . urlenpre( ''' . $_POST["searchText"] . '''); $response = file_get_contents($request, 0, $context); $jsonobj = json_depre($response); echo('<ul ID="resultList">'); foreach($jsonobj->d->results as $value) { echo('<li ><a href="' . $value->URL . '">'.$value->Title.'</a>'); } echo("</ul>");}使用cURL
如果已安装cURL,最近这是正常的情况:
<?php $query = $_POST['searchText']; $accountKey = 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'; $serviceRootURL = 'https://api.datamarket.azure.com/Bing/Search/'; $webSearchURL = $serviceRootURL . 'Web?$format=json&Query='; $request = $webSearchURL . "%27" . urlenpre( "$query" ) . "%27"; $process = curl_init($request); curl_setopt($process, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($process, CURLOPT_USERPWD, "$accountKey:$accountKey"); curl_setopt($process, CURLOPT_TIMEOUT, 30); curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE); $response = curl_exec($process); $response = json_depre($response); echo "<ol>"; foreach( $response->d->results as $result ) { $url = $result->Url; $title = $result->Title; echo "<li><a href='$url'>$title</a></li>"; } echo "</ol>";?>[WTS]将SearchWeb更改为Search。



