1

我读过这篇文章:必应搜索 API 和 Azure

我使用以下代码来模仿它:

<?php            
if (isset($_GET['bingquery'])){
    // Replace this value with your account key
    $accountKey = '***myaccountkey***';

    $WebSearchURL = 'https://api.datamarket.azure.com/Bing/Search/v1/' + 'News?$format=json&Query=';

    $cred = sprintf('Authorization: Basic %s', base64_encode($accountKey . ":" . $accountKey) );

    $context = stream_context_create(array(
        'http' => array(
            'header'  => $cred
        )
    ));

    $request = $WebSearchURL . urlencode( '\'' . $_GET["bingquery"] . '\'');

    $response = file_get_contents($request, 0, $context);

    echo $response;

} 
?>

我的 AJAX 调用是:

var bingquery = "bingquery=" + $('#query').val();

    $.ajax({
        url: "bingsearch.php",
        method: "get",
        dataType: "json",
        data: bingquery,
        success: function(jsondata){
            console.log(jsondata); 
        }
        });

但是,我仍然无法从必应搜索中取回 JSON 格式的数据,有什么建议吗?非常感谢你的帮助!

4

1 回答 1

1

如果我理解正确,您正在尝试为您的呼叫做一些类似代理..但是您没有正确设置您的 HTTP 标头字段,就像您的 php 文件从 api.datamarket.azure.com 接收一样,所以您需要设置这些请查看此答案并正确设置 HTTP 标头,并按照此处所述进行 ajax 调用

于 2016-05-08T07:40:44.847 回答