Wikipedia Curl请求错误

时间:2012-12-04 17:01:42

标签: php curl wikipedia-api

我正在尝试使用Curl从Wikipedia获取页面摘要。我的代码是

<?php

$title = <input from user>;

$url = 'http://en.wikipedia.org/w/api.php?action=query&titles='.$title.'&format=xml&prop=revisions&rvprop=content&redirects';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_USERAGENT, 'testing wikipedia services');
$result = curl_exec($curl);
print $result;

//$content = $c->query->pages->page->revisions->rev;
//print $content;
?>

我最初想测试代码以查看我的代码是否返回整个页面。但我得到一个错误,说

  

要求:[未知方法]   http://en.wikipedia.org:80/w/api.php?action=query&titles=US   环境保护   代理商&amp; format = xml&amp; prop = revisions&amp; rvprop = content&amp; redirects,来自   161.80.8.53通过cp1005.eqiad.wmnet(squid / 2.7.STABLE9)到[未知主机]([未知])错误:ERR_INVALID_URL,错误[No Error]在星期二,04   2012年12月16:55:52 GMT

网址有效,但仍会生成未知方法错误!

2 个答案:

答案 0 :(得分:3)

您需要在网址中urlencode($title)

答案 1 :(得分:1)

您忘记编码$ title变量。示例:

str_replace(' ', '_', $title);