无法使维基百科摘要 API 重定向工作

我正在使用 PHP cURL 和 jQuery 通过将国家/地区名称添加到 url 的末尾来对此 api 进行 ajax 调用:https://en.wikipedia.org/api/rest_v1/page/summary/

通过循环遍历 restcountries.eu API 并获取国家/地区“名称”,国家/地区名称保存在变量中。除了名称不完全匹配的国家/地区外,一切正常,例如:巴哈马 vs 巴哈马、英国 vs 大不列颠及北爱尔兰联合王国。如果我在手动输入这些维基百科会自动正确重定向。

我已尝试将“&redirects”添加到 url 的末尾(在 PHP 中),但这不起作用,详细信息键的值为“找不到页面或修订版”。如果我只传递保存的变量“Bahamas”而没有“&redirect”,则维基百科 api 返回的数据对象为“null”。

顺便说一句,我的“countryName”变量使用了 .replace(/\s+/g,'_') 并且我对特立尼达和多巴哥或巴布亚新几内亚等标准名称没有任何问题。

另一个例子,如果在 php 中我硬编码 $url='https://en.wikipedia.org/api/rest_v1/page/summary/United_Kingdom_of_Great_Britain_and_Northern_Ireland'; 我得到的数据对象是“空”

但如果我只是在浏览器中通过相同的网址,它会自动重定向到 https://en.wikipedia.org/api/rest_v1/page/summary/United_Kingdom

如何使重定向正常工作?

我的php代码:

<?php

    $executionStartTime = microtime(true) / 1000;
    $url='https://en.wikipedia.org/api/rest_v1/page/summary/'. $_REQUEST['place'];

    $ch = curl_init();
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch,CURLOPT_URL,$url);

    $result=curl_exec($ch);

    curl_close($ch);

    $decode = json_decode($result,true);    

    $output['status']['code'] = "200";
    $output['status']['name'] = "ok";
    $output['status']['description'] = "mission saved";
    $output['status']['returnedIn'] = (microtime(true) - $executionStartTime) / 1000 . " ms";
    $output['data'] = $decode;
    
    header('Content-Type: application/json; charset=UTF-8');

    echo json_encode($output); 

?>

我的ajax调用:

$.ajax({
      url: "libs/php/wiki.php",type: 'GET',dataType: 'json',data: {
        place: countryName 
      },success: function(result) {                  
         console.log('wiki info',result);      
           if (result.status.name == "ok") {
             $('#txtWikiImg').html('<img src=' + result.data.thumbnail.source +'><br>');
             $('#txtWiki').html('Wikipedia: ' + result.data.extract +'<br>');
           } 
        },error: function(jqXHR,textStatus,errorThrown) {
              console.log(textStatus,errorThrown);
                    }
                });
dn5681 回答:无法使维基百科摘要 API 重定向工作

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/1088329.html

大家都在问